External Content not shown. Further Information.
Popular Culture:
Nerd Culture:
Science, Software, Hardware:
Zeroth World:
Comics/Images/Audios/Videos/Games/Art:
(Nur eine Test-Person hat den Comic auf Anhieb verstanden. Das Schicksal des Künstlers.)
Mein Gott, da interessiert man sich mal ein paar Monate nicht für Politik und dann sowas. Was zum fick? Erst solidarisiert sich die Bild (!!!) mit Flüchtlingen und alle Ankömmlinge werden mit Teddybären beworfen, dann passieren irgendwelche "Übergriffe" in Köln (was genau passiert ist scheint ja irgendwie keiner zu wissen und auch irgendwie niemanden wirklich zu interessieren) und schon kippt die Stimmung von überschwänglicher Willkommenskultur ins Gegenteil über? Was ist denn das für eine Meinungsbildung? Wie soll man denn so nachhaltige Politik machen? Wie soll man so irgendetwas machen?
Warum bin ich hierzulande eigentlich gezwungen mich zwischen zwischen Flüchtlinge-mit-Teddybären-bewerfen oder "Wir-sind-das-Volk"-Rufen zu entscheiden?! Haben wir keine normalen Leute mehr? Während Teddybärdeutschland mir ja durchaus sympathischer ist, verkennen doch beide Seiten irgendwie das Problem, dass wir es nicht mit einer grauen Masse zu tun haben, sondern mit relativ vielen Individuen, die in der Regel einen Grund haben hier zu sein. Warum kann ich es nicht einfach als neutral ansehen, als ein Ding das passiert, und mit dem man jetzt irgendwie umgehen muss? Und dann irgendwie dafür sein, dass man mit gebotener Souveränität damit umgeht?
Es war doch klar, dass es früher oder später irgendwie irgendwo einen Eklat geben wird. Und dass die Meldungen von Straftaten von Ausländern in die Höhe schnellen werden, schon alleine, weil sich solche Schlagzeilen in solchen Zeiten gut verkaufen, das ist jetzt auch nichts wirklich Neues und nie Dagewesenes. Überhaupt, es ist doch nicht unsere erste Flüchtlingskrise!
Souverän geht man nicht um indem man Leute mit Teddybären bewirft und sie dann bei Eiseskälte in Zeltsiedlungen unterbringt. Souverän ist es aber genausowenig wenn man Straftaten die Einzelne begangen haben herunterspielt oder relativiert. Souverän ist es auch nicht, der Türkei in den Arsch zu kriechen dass die unser Problem löst.
Souverän wäre es gewesen, jedem der lesen kann eine Übersetzung unseres Grundgesetzes in die Hand zu drücken, und ihnen zu sagen, dass darauf unser friedliches Zusammenleben – auch mit dem Islam – hier basiert, und sie sich daran zu halten haben, und wenn sie das nicht tun wir uns gezwungen sehen sie wieder auszuschließen. Souverän wäre es gewesen, den anderen europäischen Staaten kräftig in den Arsch zu treten dass die auch etwas tun, notfalls mit einem EU-Austritt zu drohen. Souverän wäre es gewesen, die Waffen-Exporteure die eine direkte Schuld trifft in die Pflicht zu nehmen. Souverän wäre es aber auch gewesen, viel mehr zu betonen, dass die Ermittlungen in Köln laufen, und im Ergebnis zu Ausweisungen führen können.
Stattdessen diskutieren wir jetzt mit der AfD über bewaffneten Grenzschutz. Ein G7-Staat diskutiert ernsthaft darüber, Waffengewalt gegen wehrlose Menschen einzusetzen – weil wir Angst vor deren (Un-)Kultur haben, und noch viel mehr Angst um unser Geld.
Die Angst um unser Geld hat sich schon in der Griechenlandkrise gezeigt. Wo war diese Angst, als wir Banken mit Steuergeldern aus der Krise gefischt haben? Die Occupy-Bewegungen in Deutschland waren allesamt mickrig und nicht der Rede wert. Wieso brennen heute so viele Flüchtlingsheime, aber es brannte nie eine Bank? Warum sah man nie eine Horde Hartz-IV-Ossis vor Banken skandieren, sie seien das Volk? Vermutlich, weil diese Art Mensch zutiefst feige ist, und sich niemals mit jemandem anlegen würde, der potentiell die Macht hätte, sich zur Wehr zu setzen. Außerdem wäre das ja fast schon wieder links, und links zu sein ist gesellschaftlich verpönt.
Die AfD fordert ja anscheinend auch einen Austritt aus dem Euro und eine neue Währungsunion mit besser wirtschaftenden Nationen, hörte ich in irgendeinem Interview, irgendwas von Schweden oder so wurde gefaselt. Ich bin ehrlichgesagt zu faul nachzulesen ob das jetzt so stimmt oder nicht, die AfD gackert ständig irgendwelchen Müll, muss mich nicht alles interessieren. Aber wenn dem so ist, schön, dann aber bitte auch ohne die neuen Bundesländer, am Besten generell ohne die stark vom Länderfinanzausgleich abhängigen Bundesländer. Ernsthaft, wenn deren asoziale Entsolidarisierungspolitik in diese Richtung wirklich Früchte trägt, werde ich mich auch entsolidarisieren, und die Bayernpartei wählen – dann will ich wenigstens dass bayerisches Geld in Bayern bleibt, und kein Gulden (?) davon in Sachsen landet!
Für die Angst um die Kultur wird gerne das alte und leidige Thema ob der Islam zu Deutschland gehöre wieder aufgewärmt – ohne genau zu definieren, was eigentlich "zu Deutschland gehören" heißt. Wir, oder viel mehr unsere (Groß-)Eltern, haben massenweise Gastarbeiter eingeladen hier zu arbeiten. Diese Leute haben unser Land mit aufgebaut und sind jetzt in dritter und vierter Generation hier. Selbst wenn der Islam nach irgendwelchen obskuren historischen Definitionen nicht zu Deutschland gehört, wir haben ihn selbst zu einem Teil davon gemacht. Und jetzt ist er da. Das kann man jetzt gut finden oder schlecht, akzeptieren muss man es.
Wovor haben wir eigentlich Angst? Irgendwelche Reichsbürger gemäß RuStAG 1913 haben Angst dass unsere edlen blonden Frauen von nicht-deutschen Vergewaltigern geschändet werden könnten. (Tipp: Klickt euch nie durch deren Foren, das macht echt schlechte Laune.) Und auch bei nicht-Geisteskranken ist eine gewisse Xenophobie wohl grundsätzlich immer vorhanden. Aber ich glaube, so unreflektiert ist sie bei den meisten Menschen dann doch nicht. Ich persönlich kenne einfach zu viele Menschen auch aus niedrigeren Bildungsschichten, die sofort bestätigen würden, dass sie nicht glauben, dass ein Großteil der Kriegsflüchtlinge aus Triebtätern besteht, als dass ich glauben könnte, dass das wirklich eine Mehrheitsmeinung ist.
(Source: Seriouslyforreal.com)
Warum haben wir also so viel Angst vor dem Islam? Sind wir nicht eigentlich ein säkulärer Staat, der Mechanismen hat, um uns vor extremen religiösen Einflüssen zu schützen? Vermutlich ist genau das der Punkt: Wir alle wissen wie viel Einfluss die Staatskirchen auf unser Geschehen haben, und wie oft sich der Staat ihnen beugt. Wir haben nicht zuletzt eine offen religiöse Regierungspartei. Man stelle sich vor, die islamischen Menschen organisieren sich eines Tages zu einer Partei, die eine CSU pullt und mit hoher Geistlichkeit für sich wirbt. Am Ende hätte die auch noch Erfolg. Und wir könnten nichts dagegen tun, denn die Religionsfreiheit in unserem Land geht so weit dass man sogar religiöse Parteien toleriert. Und was würde eine solche Partei dann fordern? So blöd, die Scharia einführen zu wollen, ist hier niemand (das würden auch die ganzen Dönerbudenbesitzer sicher nicht mittragen.) Vermutlich die Stärkung der Familie als Grundfeste unserer Gesellschaft, die Nicht-Anerkennung homosexueller Partnerschaften, eine Stärkung der Rechte von Religion, eine gemäßigt soziale Politik – also all der Schlonz den wir schon von den Christdemokraten kennen. Ja, ich finde das auch durchaus besorgniserregend, da ich finde, noch so eine rechtskonservative Partei brauchen wir wie Scheiße am Schuh.
Staatlich kontrollierner islamischer Unterricht an Schulen wurde schon vorgeschlagen. Ich halte diese Idee im Grunde für sinnvoll, denn auf diese Weise kann man dem Extremismus von Halbgelehrten theoretisch vorbeugen. Nun erlebte ich meinen evangelischen Religionsunterricht immer als recht aufgeschlossen (wohl nicht zuletzt weil die Hälfte meiner Schulklasse sowieso atheistisch war), aber Erzählungen vom (primär katolischen) Religionsunterricht in den weniger fortschrittlichen Teilen Bayerns lässt einen nur ausmalen wie grässlich schief so etwas gehen kann.
Die richtige Reaktion wäre es jedenfalls, mehr Laizismus zu praktizieren. Religion zu dem zu machen was es ist – Privatsache, die man respektieren muss, aber die im Interesse des friedlichen Zusammenlebens wenig politischen Einfluss haben darf. Dann brauchen wir auch keine Angst vor dem islamischen Einfluss auf unsere Kultur haben.
Und wo ich grade beim Schulunterricht war. Eine Sache die meiner Meinung nach für die Zukunft gerade bei solcherlei Diskussionen dringend in Schulen gehört ist Wissenschaftstheorie. Und zwar nicht nur so nebenbei, sondern als richtiges Schulfach. Jeder sollte zumindest mal gelernt haben woher Statistiken kommen, wie man sie interpretiert, wie man mit Quellen arbeitet, und vor Allem gerade aktuell: was ein confirmation bias ist. Das wäre in so vielen Bereichen wichtig. Warum ist das kein Schulfach?
External Content not shown. Further Information.
Popular Culture:
Nerd Culture:
Science, Software, Hardware:
Zeroth World:
Comics/Images/Audios/Videos/Games/Art:
Quotes:
I can remember, it was probably in 2001, when two guys, probably bankers or business administration students ("BWL-Studenten") came to my school and showed us the glorious new currency. They didn't know what ECU stood for (something everybody who ever played Dinoropa should know), if I remember correctly – they generally didn't know much, it appeared. It was the last year Germany used DM, they joined the Euro in 2002, but wanted to do a bit of propaganda for it beforehand, I guess.
These guys had some "special" for us. We could watch and feel one of the new 5 Euro banknotes. They actually had enough banknotes to give one to everyone (we unfortunately had to give them back in the end, but whatever). Now, these banknotes were the old 5 Euro banknotes, which you still sometimes see (as you may have noticed, there are new banknotes now).
When I first saw one of these, I immediately noticed the lack of accessibility of that banknote: No tangible indication of the banknote's value. And of course, at that time, I was still naïve and thought that if somebody was allowed to speak at school, he should be familiar with that topic. Well, these two guys weren't. They weren't even aware of the DM banknotes at that time having such a thing. I had to show them so they at least believed me, but they did not know why the Euro did not have such an essential feature.
In fact, the newest DM banknotes had it: It was not perfect (well, I guess it was maybe one of the first times this has been tried), but it was there (see the dots and bars the red arrow points at):
By the way, the old 10€ banknotes were the same (and the – at the writing of this – current 50€ banknotes still have no tangible indication):
Well, personally I think that the Euro designers just forgot about it, even though this page says something else. Blind people, as far as I know, usually use templates.
However, as you might have noticed (but probably haven't), we have new Euro banknotes now. And these new banknotes have a surprisingly good tangible striation at their side, which is interrupted once for the 10€, and twice for the 20€ banknote:
Even I can distinguish them without looking. The new 5€ banknote came out 2013. Which means that it only took them 11 years to fix their bug. Congrats!
External Content not shown. Further Information.
Popular Culture:
Nerd Culture:
Science, Software, Hardware:
Zeroth World:
Comics/Images/Audios/Videos/Games/Art:
Quotes:
A nice property of Common Lisp is its macro system which made it possible to have things like cl-who, which allowed to embed HTML-code in Lisp syntax directly into the code.
With the new features of C++11, I wrote this little code snipped which does something similar:
/* we assume everything utf-8 */
#include <iostream>
#include <string>
#include <sstream>
#include <deque>
#include <cassert>
class Attr {
public:
std::string _name;
std::string _value;
Attr (std::string const& n, const char* v)
: _name(n), _value(v) {};
void text_(std::stringstream& ss) const {
ss << _name << "=\"";
// NOTICE: this works only with UTF-8
for (char c : _value) {
switch (c) {
case '&':
ss << "&";
break;
case '"':
ss << """;
break;
case '<':
ss << "<";
break;
case '>':
ss << ">";
break;
default:
ss << c;
}
}
ss << '"';
}
std::string text() const {
std::stringstream ss;
text_(ss);
ss.flush();
return ss.str();
}
};
class AttrTrunk {
public:
std::string _name;
AttrTrunk(std::string & n) : _name(n) {};
Attr operator= (const char* a) {
Attr ret(_name, a);
return ret;
}
};
class AttrList {
public:
std::deque<Attr> attributes;
AttrList () {};
void text_ (std::stringstream& ss) const {
for (Attr const& c : attributes) {
c.text_(ss);
ss << " ";
}
}
std::string text () const {
std::stringstream ss;
text_(ss);
ss.flush();
return ss.str();
}
};
AttrList operator , (Attr const& a, Attr const& b) {
AttrList ret;
ret.attributes.push_back(a);
ret.attributes.push_back(b);
return ret;
}
AttrList& operator , (AttrList& a, Attr const& b) {
a.attributes.push_back(b);
return a;
}
AttrTrunk operator "" _att (const char* a, size_t len) {
std::string b("");
for (size_t i = 0; i < len; ++i) b.push_back(a[i]);
AttrTrunk ret(b);
return ret;
}
class Tag;
std::deque<Tag> empty;
AttrList empty_attr;
class Tag {
public:
std::string _name; // or cleartext
AttrList _attrs;
std::deque<Tag> _tags;
bool _empty;
bool _text;
bool _as_is;
// _empty means that the tag should be of the form <bla />. If it is
// not set, it will be <bla></bla>. We distinguish this, because
// <script ... /> does not work everywhere.
Tag (std::string& n, AttrList& attrs, std::deque<Tag>& subtags, bool empty) :
_name(n), _attrs(attrs), _tags(subtags), _empty(empty), _text(false), _as_is(false) {
assert (!empty || subtags.size() == 0);
}
Tag (const char* cleartext)
: _tags(empty), _attrs(empty_attr), _text(true), _name(cleartext), _as_is(false) {}
Tag (std::string& cleartext)
: _tags(empty), _attrs(empty_attr), _text(true),
_name(cleartext), _as_is(false) {}
static Tag as_is (const char* text) {
Tag ret(text);
ret._as_is = true;
return ret;
}
void text_ (std::stringstream& ss) const {
if (_as_is) {
ss << _name;
} else if (_text) {
for (char c : _name) {
switch (c) {
case '<':
ss << "<";
break;
case '>':
ss << ">";
break;
case '&':
ss << "&";
break;
default:
ss << c;
}
}
} else {
ss << "<" << _name << " ";
_attrs.text_(ss);
if (_empty) {
ss << " />";
} else {
ss << ">";
for (Tag const& tg : _tags) {
tg.text_(ss);
}
ss << "</" << _name << ">";
}
}
}
std::string text() const {
std::stringstream ss;
text_(ss);
ss.flush();
return ss.str();
}
};
// Tag with (possibly empty) attlist but no content yet
class TagTrunk2 {
public:
std::string _name;
AttrList _attrs;
TagTrunk2 (std::string n, AttrList al)
: _name(n), _attrs(al) {}
// for the difference between [] with an empty list and (), see
// class Tag
Tag operator [] (std::deque<Tag> subtags) {
Tag t (_name, _attrs, subtags, false);
return t;
}
Tag operator [] (Tag subtag) {
std::deque<Tag> subtags;
subtags.push_back(subtag);
Tag t (_name, _attrs, subtags, false);
return t;
}
Tag operator () () {
std::deque<Tag> trash;
Tag t (_name, _attrs, trash, true);
return t;
}
};
std::deque<Tag> operator , (Tag a, Tag b) {
std::deque<Tag> ret;
ret.push_back(a);
ret.push_back(b);
return ret;
}
std::deque<Tag>& operator , (std::deque<Tag>& a, Tag b) {
a.push_back(b);
return a;
}
// Tag without attlist and content yet
class TagTrunk1 {
public:
std::string _name;
TagTrunk1 (std::string n) : _name(n) {}
TagTrunk2 operator [] (AttrList a) {
TagTrunk2 ret (_name, a);
return ret;
}
TagTrunk2 operator [] (Attr a) {
AttrList b;
b.attributes.push_back(a);
TagTrunk2 ret (_name, b);
return ret;
}
TagTrunk2 operator () () {
// use this when no attributes are present
AttrList b;
TagTrunk2 ret (_name, b);
return ret;
}
};
TagTrunk1 operator "" _tag (const char* a, size_t length) {
std::string b("");
for (size_t i = 0; i < length; ++i) b.push_back(a[i]);
TagTrunk1 ret(b);
return ret;
}
Tag operator "" _txt (const char* a, size_t length) {
std::string b("");
for (size_t i = 0; i < length; ++i) b.push_back(a[i]);
Tag ret(b);
return ret;
}
Tag operator "" _as_is (const char* a, size_t length) {
return Tag::as_is(a);
}
int main (void) {
std::cout <<
( "html"_tag ()
["head"_tag ()
["title"_tag () [ "Meine Seite"_txt ],
"script"_tag ["type"_att = "text/javascript",
"src"_att = "hallo.js"][empty]],
"body"_tag () ["Hallo Welt!"_txt, "<![CDATA[ bla ]]>"_as_is]] ).text() << std::endl;
}
Have fun. Regard the code as public domain. You C++-Nerds, please make some nice library out of it that does encoding and collation and shit correctly and release it freely so I can use it.