S{o}cial
Gizmeo.eu RSS-Feed c1 auf LinkedIn c1 auf Google+ c1 bei YouTube Gizmeo.eu als Android-App
Komm{e}ntare
    • c1ph4 on R.I.P. GameRankings!: “Hija, Neil! Thanks for getting back at this and sharing alternatives with us! 🙂 To me „OpenCritic“ sounds very promising…Jan 14, 19:36
    • Neil on R.I.P. GameRankings!: “There are new aggregators that one can use in place of GameRankings.com. There’s https://opencritic.com, not as extensive but offers a…Jan 14, 14:32
    • Borno on siliziumbasiertes leben: “interessant! dankeDez 13, 22:10
    • Abbey on mit androiden ab ins darknet: “Vielen Dank Probiere es jetzt mal aus war früher mal im darknet aber hatte absolut keine Ahnung mehr wie es…Aug 14, 21:41
    • c1ph4 on mit androiden ab ins darknet: “@Unknownuser: Wo? Ist deine Version die neueste aus dem FDroid-Repository? Sehe hier keine. Versuch‘ mal den Firefox in den Einstellungen…Aug 4, 23:15
{A}rchiv

Sie sind momentan im Archiv der Kategorie (A)Soziale Netzwerke.

Lef{t}overs
GET FIREFOX!
GET THUNDERBIRD!
www . cipha . net

www . cipha . net
Please use an AMD CPU!
cell processor rox, fuck INTEL
KDE - the Ueber-Desktop-Environment!
STOP FACEBOOK!
msn user die!
aol sucks cock!
FUCK MYSPACE!
explicit content
NEIN zu Softwarepatenten
save the net! net-neutrality is important!
Aktion UBERWACH!
Cred{i}ts
Created, Made & Maintained by AETHYX.EU

Archiv für die Kategorie „(A)Soziale Netzwerke“

(a)soziale netzwerkartefakte

Für ein Projekt musste ich mich auf Web-Bildersuche für Dateien größer als 5MB begeben. Dabei fiel mir eine uralte Share-Leiste ins Auge, wie u.a. wir Blogger sie um 2004 herum manuell noch in unsere (X)HTML-Webseiten gepflegt hatten:

(a)soziale Netzwerke, Stand 2003

Damals war nicht abzusehen, dass es mal _die_ Webseuche überhaupt werden würde. Davon abgesehen war ebenfalls unwahrscheinlich, dass diese Idee mal zu unkontrollierbaren Mega-Corporations führen würde.

Mir fiel auf, dass die Icons hier nach Popularität bzw. Nutzung geordnet sind. Das bedeutet, dass Twitter damals noch populärer als Facebook oder Reddit war. Besonders bemerkenswert fand ich digg auf Platz 4.

Was ist aus diesen ganzen Pionieren der (a)sozialen Netzwerke geworden? Ich begab mich auf Recherche…

digg.com – entgegen meinen Erwartungen existiert die Domain wie auch das Projekt noch. Geschrieben in Python, wird es im Dezember stolze 16 Jahre alt. Da man damit Webinhalte nicht nur teilen, sondern auch bewerten konnte, entstand sogar ein eigener Neologismus dafür, das sogenannte digging. Du diggst nach unten, der Link war Käse. Viele Diggs nach oben zeigten einen populären Inhalt, den du unbedingt lesen musstest. 2010 ging das Redesign in die Hose, zwei Mitgründer verließen das Projekt und 2012 wurde es filetiert, Marke, Website und Technologie wurden für nur 500.000$ verramscht. Heute ist es ein Produkt von „BuySellAds“ und der Name ist ab 2018 Programm: vom Aggregator-Pionier ist nicht viel geblieben, die Website erinnert heute eher an eine virtuelle Bildzeitung.

Google+ – brauchen wir wohl nicht viele Worte verlieren, der Sozial-Media-Konkurrent aus dem Hause des „Big G“ wurde im April 2019 für immer geschlossen. Sogar mehrere Monate früher als geplant. Obwohl es als das innovativste und mit komplexeste der sozialen Netzwerke galt, wurden offiziell Sicherheitslücken und Designfehler als Gründe angegeben. Inoffiziell konnte sich ein halbwegs intelligentes soziales Netzwerk einfach überhaupt nicht durchsetzen. Die Schließung dieses Projekts sollte man auch als Mahnung verstehen – das Web ist im Eimer. Selbst Google hatte keine Chance den Karren mehr aus dem Dreck zu ziehen.

Yahoo! Groups – wird sogar erst Ende des Jahres offiziell gekillt. Allerdings kann man keine neuen Inhalte mehr seit über einem Jahr einstellen. Pionier war man hier in der Verlagerung von elektronischen Mailinglisten ins Web. Ein großer Pluspunkt (aber auch Kritikpunkt) war das Fehlen jeglicher Moderation der Inhalte. Es hatte die Möglichkeit eines der größten Diskussionsforen im Web zu werden und zeitweise war es genau das: 2008 hatte man fast 120 Millionen User in 22 Sprachen vorzuweisen. Verizon zieht am 15. Dezember endgültig den Stecker.

del.icio.us – vielleicht eines der legendärsten „Social Networks“. Ein Hauptproblem bei der Größe des WWW ist es den Überblick zu behalten. Del.icio.us löste das clever indem es die Möglichkeit bot, Lesezeichen zu teilen. Was erstmal wenig revolutionär klingt hat in der Anwendung dazu geführt, dass es sich zum Über-WWW-Kurzzeitgedächtnis entwickelte. Besonders als Onlineautor ein legendäres Feature. Weiteres Killer-Feature: wer del.icio.us-Nutzer war, der brauchte kein Twitter. Auch zeitlich lag man beim Start 2003 fast richtig mit dem Timing zum überflüssigsten Web-Marketing-Phänomen EVER, dem „Web 2.0“. Heute ist nicht einmal mehr die Domain aktiv. Die vielen Besitzerwechsel führten zwischenzeitlich auch zu Komplettlöschungen von Links und Nutzerkonten. Selbst Yahoo! hatte 2005 keinen Bock mehr auf das Projekt. Danach war es faktisch tot, egal wer noch kam.

StumbleUpon – bedeutet übersetzt so viel wie „darüber stolpern“. Worüber Webnutzer immer stolpern, egal was sie machen, sind Links zu anderen Webseiten. StumbleUpon wollte daraus Kasse machen. Ich bin nicht sicher, ob ihnen das je gelungen ist, dennoch kam eBay 2007 und kaufte das Teil für 75 Millionen US-Dollar. StumbleUpon ist das perfekte Beispiel, warum auch die „Web 2.0“-Blase irgendwann platzen musste. Offline seit 2018, existiert eine der Grundideen heute noch als Browserplugin namens „Mix“.

Play-Icon trifft auf Kreis-Icon – auch wenn ich dieses „soziale Netzwerk“ nicht kenne möchte ich es dennoch als gutes Beispiel für die damalige Webzeit nicht unkommentiert lassen. Im Kern wussten wir bis auf wenige Ausnahmen nämlich nicht, woher plötzlich alle diese kleinen, nutzlosen Icons kamen und was der Scheiß eigentlich sollte. Wir haben, tatsächlich, einfach irgendwelche Code-Snippets in unsere Webseiten eingebaut, entgegen unserem Sicherheitsgefühl und unserer Vernunft, weil dieses „Sharing is caring“ war einfach überall. Es war beängstigend und eine eklige Zeit, mit am Ende auch ziemlich ekligen, exploitenden Produkten. Ich will hier auch nicht in die Tiefe gehen, weil zum Glück ist „Web 2.0“ lange tot. Doch es zeigt uns am Ende sehr gut, dass, selbst wenn wir gewollt hätten, niemand ein (a)soziales Netzwerkphänomen wie Facebook oder Twitter hätte verhindern können. Es war auf einmal „plötzlich da“. Wie das Internet generell.

Technorati – das letze Icon hier war wahrscheinlich das komplizierteste der (a)sozialen Netzwerke. Um das Konzept Technorati zu verstehen, brauchte man ein Handbuch. Nur leider druckt sich nicht eben jemand mal schnell ein kleines Internet aus. Es wollte unbedingt eine Suchmaschine sein, war aber keine, die diese Definition verdient hätte. Man konnte seine Website hier anmelden und verstand dann hinterher nicht, was das vielschichtige Admin-Interface einem eigentlich sagen will, geschweige warum man seine Seite hier angemeldet hatte. Natürlich versuchte man auch Displayanzeigen an die Konsumenten zu bringen. Die Komplexität und oberflächliche Sinnlosigkeit machten das Produkt allerdings sehr interessant und vielversprechend; alleine der Name war ein Kofferwort aus Technologie und Literati, was intellektuell wirken sollte und manchmal sogar funktionierte: denn selbst 2016, lange nach dem Hype um Aggregatoren, Link-Sharer und Status-Update-Fanatik-Bots (sprich „Web 2.0“) ging das Projekt für 3 Millionen an einen anderen Besitzer über. Die Domain gibt es heute noch, das Projekt (leider?) nicht mehr. Ich würde mich allerdings nicht wundern, wenn wir ein paar von den damals überfrachteten und sinnlosen Features irgendwann wiedersehen werden als eigenständiges Webprojekt, denn ganz ehrlich, hier war man vordergründig und hintergründig der Zeit voraus.

Fazit: die „Nullerjahre“ waren schwierig für das Web, für Content-KreatorInnen genauso wie für bloße KonsumentInnen. Es war rückblickend eine recht unverständliche Zeit, zu der man sich außerhalb der USA die Hintergründe irgendwie zusammenrecherchieren musste; was einfach war für Nutzer, die der englischen Sprache mächtig waren und schwierig für alle anderen. Man fragte zu wenig „wozu das alles?“ und „machte einfach mit“ (Mitläufer-Phänomen), oft waren die Code-Snippets generell verseucht und stellten große Sicherheitsrisiken dar, wenn wohl auch ungewollt und größtenteils unwissend.

Gleichzeitig war es die Zeit des ersten wirklich großen WWW-Marketing-Hypes, man stellte das „Sharen“ als das nächste „große Ding“ dar, was es ja dann auch wurde, und erfand sogar einen eigenen Begriff, um sich gegen alles Vorherige abzusetzen, „Web 2.0“. Vielleicht war es rückblickend „das erste große künstliche Ding“, den zuvor hatte man als Technikbegeisterter irgendwie das Gefühl, es würde alles einigermaßen sinnvoll aus- und zusammenwachsen hier drin. Gerade in dieser herbeigelogenen „Weiterentwicklung“ lag vielleicht aber auch das größte Problem und der größte Betrug. Beste Beispiele hier sind Technorati, del.icio.us oder Google+ – alles Web-Produkte mit großem Potenzial, jedoch unverständlich und nicht einfach genug für die Massen.

Überhaupt Massen, ein nicht zu unterschätzender Faktor: wie damals so bewegen wir uns heute auf einem völlig unbekannten Terrain, da wir mit noch keiner Technologie dermaßen viele Menschen rund um die Uhr erreichen, begleiten und leider auch manipulieren und verkaufen konnten. Die US-Wahl 2016 mag ein gutes Beispiel hier sein, was (a)soziale Netzwerke anrichten können, wenn man negative Auswirkungen hier anführen möchte, oder auch das Cybermobbing. Viele Fragen hier werden auch eventuell zu einem Generationenproblem und nicht innerhalb weniger Jahre oder nur einer Dekade gelöst werden können. In Europa hält man mit der DSGVO faktisch erst seit wenigen Jahren aktiv gegen; es könnte bereits zu spät sein.

Und hiermit endet mein historischer Ausflug, in die „Nullerjahre“ wie in die Zeit der „Social-Media-Icons“. Es ist unschön noch heute Websites zu finden, die solche Leisten anbieten. Dennoch hat mich dieses kleine, sinnlose Netzwerkartefakt zum Nachdenken wie zur Erstellung dieses Textes gebracht. Ich bin froh, dass wir diese Zeit hinter uns haben. Peinlich ist mir, ein Teil davon gewesen zu sein. Ich kann damals auch schon spät drangewesen sein, doch seitdem sehe ich eigentlich für das WWW nur noch schwarz. Ich denke nicht, dass wir diese dämlichen Erfindungen wieder wegbekommen werden. (A)soziale Netzwerke – für mich sind sie die technologische Immunschwächekrankheit, an der das Web krepiert.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

influenca

Influenca – geh‘ mir bitte aus der Sonne, du bist ansteckend/
Wie ein Virus, den Dreck, den du verbreitest, ist das anstrengend/
Influenca – wieso werden das immer mehr behinderte Kinder/
Warum haben eure Eltern nicht verhütet, was hat ihre Aufklärung verhindert/

Rede nicht mit ihr, denn sie hat eine schreckliche Krankheit/
sie postet lieber drei Tage Kinderzimmer als einen Tag in Frankreich/
nee, die Sprache kann sie eh nicht, doch schreibt sie einen Track darüber/
der sich nicht mal reimt, wenigstens bucht sie später bei Über/
ein Track für’s Radio, eigentlich ist sie gar nicht so, genießt nur ihr Smartphone/
sie hat Fans, Millionen Follower, alle gekauft im Darkweb, doch sei’s drum/
sie kann gut, sehr gut auf Zehenspitzen gehen und auch wenn/
sie keinerlei Talente hat wollen es in sozialen Medien Millionen sehen/
ist doch fast wie Fernsehen! Sagt ihre Oma auch, sie fotografiert gerne für/
Hardcore-GILF-GIF-Videos mit Opas Feuerwehrschlauch. Er holt ihn raus/
oh nein, sie nimmt gerade auf und Papa kommt rein/
er sagt Mama hat ihn heute verlassen wegen der Tochter ihrer Dummheit/
Oma rennt, Opa pennt, Mama ist weg und Papa schreit/
es klingelt die Tür und das Telefon zur selben Zeit, weil mal wieder Polizei/
der Wachtmeister bekommt von ihr einen BJ zwischen Angel und Tür/
ihr Nick im Internet ist BJAlice02, jetzt weißt du wofür/

Influenca – geh‘ mir bitte aus der Sonne, du bist ansteckend/
Wie ein Virus, den Dreck, den du verbreitest, ist das anstrengend/
Influenca – wieso werden das immer mehr behinderte Kinder/
Warum haben eure Eltern nicht verhütet, was hat ihre Aufklärung verhindert/

Heute wurde er 17, das muss heftig gefeiert werden/
Frühstück, Mittagessen, Abendessen, Hormone, denn er will ein Mädchen werden/
seit kurzem postet er seine Fortschritte in einem Vlog/
mit glatter Haut und dicken Titten klappt es mit Followern wie/
ist auch egal. Im Texten war er nie die Leuchte, hat die Schule schon geschmissen/
Was er werden will, keine Ahnung, das fragt sein Jugendberater auch/
er gehe lieber shoppen mit Hartz IV, weil seine Mutter nicht arbeiten braucht/
er liebe immer noch Deutschland, früher mit Flagge und Glatze frisch rasiert/
heute mit blauen Kontaktlinsen und blondierten Haaren für die kastrierten Massen/
wozu sich Gedanken machen, alles läuft doch wie es soll/
er ist noch nicht sicher, ob er ihn sich abnehmen lassen soll/
denn wenn er hart wird, und er sich damit zwischen die Titten spritzt/
ist er froh, wenn er es noch schafft bevor er kommt auf Record zu klicken/
doch meist gelingt ihm das nicht, dann spritzt er sich ins Gesicht/
Gott, er liebt sein iPhone, hat ihn letztes Jahr nur die Niere gekostet/
sein Nick ist Trafica03.com, ihn hat das Internet verhorstet/

Influenca – geh‘ mir bitte aus der Sonne, du bist ansteckend/
Wie ein Virus, den Dreck, den du verbreitest, ist das anstrengend/
Influenca – wieso werden das immer mehr behinderte Kinder/
Warum haben eure Eltern nicht verhütet, was hat ihre Aufklärung verhindert/

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

unser strom? ihr strom!

Jedes Gadget braucht Strom, in irgendeiner Art und Weise. Manche permanent, andere temporär. Die meisten viel bis sehr viel, zu wenige wenig. Es ist wichtiger denn je, sorgfältig auszuwählen, aus welcher Quelle dieser Strom stammt.

Stichwort Atomstrom.

Als das erste Kernkraftwerk der Welt, das Atomstrom in ein öffentliches Stromnetz eingespeist haben soll, gilt Obninsk im Jahr 1954, südwestlich von Moskau. Legen wir zugrunde, dass technisch und von Alterswegen her man um die 50 gewesen sein muss, um dieses „Kunststück“ zu realisieren, ist das die Menschen-Generation ab 1904 gewesen, heute bekannt als „Greatest Generation“.

Mir ist nicht bekannt, warum man diese Vollpfosten marketingtechnisch genau so bezeichnet, haben wir ihnen nicht nur Atomkraft zu „verdanken“, sondern auch die zweite Komplettzerstörung der gesamten Welt, sowie die Zündung der Atombombe zu Lande – Letzteres so ziemlich DAS Dümmste, das du als Lebewesen machen kannst auf einem Planeten, den du selbst bewohnst. Und ohne der Möglichkeit diesen vorher verlassen zu können.

Zeitlich nun einfach visualisiert, wie viele Generationen von diesem Atomstrom bis heute, 2020, maximal „profitieren“ konnten:

II

Und nun, wie viele Generationen dafür bezahlen dürfen:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

In Worten: Zwei. Versus. Vierzigtausend.

Vierzigtausend Generationen, das sind schlappe 1.000.000 Jahre.

Och bitte, nehmen wir Rücksicht: Hauptsache Oma und Opa hatten es warm!

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (1 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

DIE dating-revolution

I'm there for you -  toy digital sillinesss

Im Januar erzählte mir ein Kollege, ich solle „Tinder“ versuchen.
Es sei „der ideale Weg um Bräute abzuchecken“.
Also habe ich mich dort angemeldet.
Über mein eigenes Smartphone, ist Risiko, klar.
Ich durfte mir das einfach nicht entgehen lassen.
Woche für Woche schaue ich mal rein.
Irgendwie posten alle Honeys nur noch ihr „Instagram“-Profil.
Oder Zwei-Sekunden-Infinite-Loop-GIFs.
Das war aber gar nicht mein Problem, weil:
ich habe gemerkt, ich bin hässlich.
Und habe nur vier Likes. Pardon: „Matches“.
Und das auch noch während weltweiter Pandemiezeiten!
Um Depressionen zu vermeiden kam mir nur eine Lösung:
Ich lasse mir Titten machen.
Nächste Woche habe ich Termin.
#Zeitgeist

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (1 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

href.ninja wird 5.000

Und noch ein internes Mega-Jubiläum dieses Jahr: meine Linkschleuder href.ninja wird 5.000!

href.ninja logo banner

Genauer scheint das bereits seit längerem der Fall zu sein, denn aktuell zählt die Sammlung meiner |)i3 @L73RN/-\7Ive pr€$$€/-\G3nt|_|R 5.108 Hyperlinks inklusive kurzen eigenen Beiträgen zu Lesenswertem. Zeitlich liegen wir hier also irgendwo bei Anfang April 2020, wann dieser Meilenstein geknackt wurde.

Witziger Zufall ist, dass es für href.ninja am 8. April 2012 online los ging. Also weiß ich ziemlich genau die Zeitspanne, wann die 10.000 geknackt sein werden: irgendwann April 2028 herum.

Nicht witzig war, dass viele Links und Hinweise meines virtuellen Kurzzeitgedächtnisses für immer verloren sind: meine Anmeldung bei del.icio.us war am 21.09.06 schon, ab diesem Datum sollten Daten vorhanden sein. Die zahlreichen Verkäufe der damals sehr beliebten „Web 2.0“-Plattform und andere Schwierigkeiten mit dem Management, hatten mein Ursprungsarchiv irgendwann für immer zerstört. Ich tippe, dass rund 500-1.000 gesammelte Links so im Datennirwana landeten.

Das, und der Umstand, ein eigenes Konkurrenzprodukt zum Kurznachrichten-Masseur-Webdienst Twitter anbieten zu können, führten irgendwann 2012 dazu, ein eigenes System auf meinem Server für mein Gehirn-RAM aufzuziehen.

Bis heute läuft es mit dem datenbanklosen Unterbau Shaarli, initiiert von dem Franzosen Valentin CARRUESCO aka Idleman. Nur fragt mich nicht, in welcher Version: der Code wird schon seit Jahren von der Community über GitHub weiterentwickelt. Und von mir zu selten abgerufen und geupdatet…

Solche autarken Systeme wären nicht nur im Krisenjahr 2020 wichtig gewesen. Mich schaudert nach wie vor, wenn ich von „offiziellen“ Meldungen von Politikern oder Behörden über Twitter höre, das sollte meiner Meinung nach verboten werden. Genauso wenig kann ich ein Onlinemagazin ernst nehmen, das permanente Verweise in eigenen(!) Artikeln zu Twitter oder Instagram oder sonstigem Webschundrotz „einbettet“. Das ist nicht unabhängig, sondern faul und eklig und gehört ebenso verboten. Von dem Cookie-Dreck und Werbe-IDs, die man mitliefert, ganz zu schweigen.

Baut euren eigenen Webdienst auf! Eine Domain mit eigenem Webspace (heute Neusprech „Cloudspace“) kostet heute keine 10€ mehr im Jahr, ein System wie Shaarli ist in 5-10 Minuten aufgezogen und betriebsbereit. Das sage und schreibe ich bereits seit 20 Jahren, sehe dagegen weiterhin nur Dreck und die Leute konsumieren oder produzieren es doch weg.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (1 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

dein pod – deine daten

Stell‘ dir vor, Datenkraken wie Facebook, Twitter und Co. würde deine persönlichen Daten nicht exploiten und daraus resultierenden Cashflow nicht in die eigenen Taschen abführen, sondern müssten um Erlaubnis fragen, um diese Daten aus eurem eigenen Daten-Container (hier genannt POD – Personal Online Data) erhalten zu können.

Das ist das Grundkonzept von SOLID:

SOLID - Gateway fuer deine Daten

SOLID wurde bereits 2018 kurz hier vorgestellt. Da sich das Problem mit der Verwertung oft gegen den Willen der Nutzer aber in der Zwischenzeit nicht verbessert, sondern noch eher verschlimmert hat, hat Hackaday erst Ende März und dann noch Anfang April das Projekt erneut breiter ausgeleuchtet.

Das sind Link-Tipps und Must-Reads gleichzeitig, denn wenn bisher eines seit Erfindung des WWW Anfang der 90er nicht funktioniert hat, dann dass die Menschen gelernt haben, damit umzugehen. Man muss ihnen weiter helfen.

Vom WWW-Erfinder höchstselbst stammt die Idee zu SOLID: Tim Berners-Lee. Sie schießt ins selbe Kraut wie die seit Monaten andauernden Diskussionen, dass wir das WWW an Mega-Konzerne mit zwielichtigen Visionen verloren und uns sogar gopher zurückwünschen: es läuft was schief mit dem Web, schon seit Jahren, wie biegen wir das jetzt wieder gerade?

Ist eine Riesen-Herausforderung.

Schließlich lässt sich Zeit nicht zurückdrehen, Facebook beispielsweise nicht wieder zurückcoden, WhatsApp oder Instagram für Milliarden zurückkaufen: „Was mit Zucky zusammen den Bach runterging war die Illusion einer zentralen Wahrung der persönlichen digitalen Identität, die er mitkreierte. Eine Generation von unheilbaren Web-Krüppeln; gescheiterten Nutzern, die niemals den essentiellen revolutionären Hintergedanken eines dezentralen Informationsdienstes verstanden hatten. Die verzweifelte Annahme, dass jemand, oder zumindest irgendeine Kraft, sich um die Daten nach dem Klick auf den Button kümmert.“

Auch Hackaday spricht denn auch von „Glück“, sollte SOLID funktionieren: in dem Fall gäbe es Wettbewerb in diesem Bereich, da NutzerInnen ihre Daten einfach mitnehmen könnten, wie bei einem Umzug. Wohl im Konjunktiv.

Wenn SOLID, ein OpenSource-Projekt vom Erfinder des Web selbst Glück braucht, und noch viel mehr Zeit, um Perspektive zu geben, was bleibt in der Zwischenzeit?

Nun, es liegt zum einen an einem selbst: PODs nämlich, wenn auch nicht für SOLID, kann man heute schon selbst aufsetzen, dezentrale soziale Netzwerke gibt es bereits in recht ausgereifter Form. Friendica, diaspora* und Mastodon sind solche, recht bekannten Beispiele. Zum anderen: nee, da gibbet nichts mehr an Alternativen. Wir sind Schuld daran. Wir sollten nicht stolz darauf sein.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

underground-elite-profi-photographie

Seit ich ein Smartphone besitze bescherte mir die integrierte Kamera ein exponentielles Wachstum an Handyphotos. Wie es sich für einen euphorischen Smartphone-Erstbenutzer der menschlichen Gattung gehört, brauchte ich natürlich schon kurz darauf einen Account bei einem (a)sozialen Medium, um diese kritischen medialen Megapixel-Erzeugnisse, wie Frühstückscroissants, mit wildfremden Mitmenschen im Internet zu teilen.

Ja, selbst ich hatte mal einen Instagram(C)(TM)(R)-Account, und wie es sich für einen richtigen Neo-Archivar unserer Zeit gehört, sind die Inhalte auch heute noch erhältlich. Als dann 2013 BigBrother höchstselbst in Form von Fratzenbuch.com das Bild-Sharing-Netzwerk einfach schluckte, war ich bereits Junkie und auf der Suche nach Alternativen. Dadurch begegnete mir ein anmutig aussehender Konkurrent und Startup EyeEm aus Berlin, wo es meine Croissants, und vieles weitere mehr seit 2013, auch heute noch stetig aktualisiert gibt: https://eyeem.com/u/saschaschroeder.

Wer’s wirklich drauf hat mit Handyphotos, kann bei EyeEm problemlos zum Photographie-Vollprofi werden: seit 2014 nämlich besteht mit dem EyeEm Market die Möglichkeit, automatisch nach jedem Upload die Photos kommerziell anbieten zu können. Ein renommiertes Haus, dass solche Photos abnimmt, ist Getty Images.

Ich halte mich weder für einen Profi, noch verstehe ich mich groß mit diesem komplizierten Medium Photographie (meine bescheidene Meinung) und es gibt sicher gerade heutzutage massiv Bessere; ich komme ja eher so aus der Autorenrichtung. Doch am 20. Januar 2020 habe ich mein erstes Photo aus „meinem Market“ verkauft und 10$ kassiert:

EyeEm: mein erstes verkauftes Photo, yay!

Zu sehen ist Costa Caparica, ein 19 Kilometer langer Sandstrand der Stadt Lissabon, Portugal. Aufgenommen im Herbst 2016 mit einer 13,1-Megapixel-Kamera eines bereits drei Jahre alten Sony Xperia Z.

Ich weiß nicht, wer es gekauft hat, oder warum. Trotzdem danke! <3 Es ist ein wunderschönes und erhabenes Gefühl, mit einem Hobby Geld verdient zu haben. Wenn es so weiter läuft, hänge ich die IT in 1.597 Jahren an den Nagel und poste nur noch Handycroissants! Versprochen!1

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

gopher://

Gopher: das ist nicht nur der Hauptgegner von Bill Murray in der 80er-Jahre-Kultkomödie „Caddyshack“. Gopher war auch sehr lange die absolute Nemesis des WWW, bevor es seinen Durchbruch mit dem Projekt Netscape in den 90ern hatte.

Spulen wir vorwärts in die Gegenwart, ist von den revolutionären und innovativen Gedanken des WWW nicht viel mehr übrig: längst haben globale kommerzielle Interessen die Technologie übernommen und überrollen den Planeten und dessen Bewohner mit fragwürdigen Produkten in Form von Apps oder gleich ganzer Hardware, wie bei Smartphones geschehen. Kein Wunder, dass sich mancher Netzpionier mittlerweile wieder das auf Port 70 statt 80 laufende Internet-(Text-)Protokoll zurückwünscht.

Ungewollt habe ich nun seit über 12 Monaten die Befürwortung von gopher und massive Kritik am WWW mitprotokolliert, nachfolgend eine kleine Chronologie und Zusammenfassung:

16.02.19
„Warum wir IT-Experten wieder mehr auf „Gopher“ setzen sollten“
https://box.matto.nl/revivegopher.html

16.04.19
„Web-Alternativen: Gopher, Shizaru, Neocities, Water.css – Ideen gegen die degenerierten derzeitigen Entwicklungen des WWW“
https://jfm.carcosa.net/links/2019/04/links-2019-04-14/

10.12.19
„Hier wieder mal ein Artikel/Rant Pro Gopher und Kontra WWW“
http://www.therandymon.com/index.php?/archives/338-This-isnt-fun-anymore.html

24.02.19
„Kult-Blogger Cory Doctorow: wie wir zusammen mit Gopher das Netz gegen Monopolisten verloren“
https://tech.slashdot.org/story/20/02/21/2240222/gophers-rise-and-fall-shows-how-much-we-lost-when-monopolists-stole-the-net

Jop.
Schon jetzt nuff said.
Und so.

Trefflich streiten lässt sich selbstredend, ob die virtuelle Welt mit gopher:// so viel besser gewesen wäre statt mit http://. Für mich braucht es eigentlich keinen NSA-Skandal, um zu erkennen, dass wir uns jahrelang in die falsche Richtung bewegt haben mit dem Web, v.a. kommerziell. Staatlich ja teilweise überhaupt nirgendwo hin.

Auch die jüngsten Diskussionen um die .org-Domainproblematik schießen ins selbe Kraut.

Ich hätte mir rückblickend einfach gewünscht, meine Freunde wären nicht alle zur Datenkrake Facebook gegangen und hätten sich exploiten lassen, sondern hätten lieber mich direkt gefragt, ob ich ihnen wegen meiner Internetaffinität eine eigene Website erstellen könnte. So wäre meine Hoffnung nicht auch schon längst flöten gegangen. Die Nummer eines Transportprotokolls wäre mir dann bis heute völlig egal.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

wie mein 17 jahre alter spreadshop starb

Am 2. Oktober 2002, also vor mehr als 17 Jahren, habe ich meinen eigenen Spreadshop eröffnet.

Spreadshop wiederum ist Marketingsprech der T-Shirt-Druckerei Spreadshirt aus Leipzig, wenn man dort Onlinepartner wurde und T-Shirts mit eigenen Motiven über das Internet vertreiben wollte. Das Unternehmen wurde selbst erst im Mai 2002 gegründet. Eigentlich eine coole Idee.

Eigentlich.

Spreadshirt verkackt es 2019

Am 24.09.19 erhielt ich eine Email mit folgendem Wortlaut:

„Hallo,

mit Deinem Spreadshirt-Account verkaufst Du Deine Designs und Produkte weltweit. 2016 haben wir den Partnerbereich eingeführt und damit das Vermarkten von Designs und Produkten vereinfacht und beschleunigt (sic!). Wie bereits im März angekündigt, können wir leider nicht jeden Account in den neuen Partnerbereich mitnehmen. Deswegen beenden wir hiermit unsere bestehende Kooperationsvereinbarung zur Nutzung der Spreadshirt-Partner-Dienste „Marktplatz“ und „Shop“.

Was bedeutet das für Dich?
Mit Deinem Account wurden auch Deine Designs, Shops und Dein Showroom unwiderruflich gelöscht. Falls Du Deinen Nutzerbereich als Kunde genutzt hast, wandeln wir Deinen Account in einen Kunden-Account um. So bleiben Deine Bestelldaten erhalten und Du kannst Dich weiterhin bei Spreadshirt einloggen.

Wir freuen uns, wenn Du weiterhin alle Vorteile und Funktionen des Partnerbereichs nutzen möchtest und Dir einen neuen Partner-Account erstellst.

In jedem Fall wollen wir Danke sagen. Danke, dass Du bei uns warst und Spreadshirt mit Deinen Designs und Produkten zu dem gemacht hast, was es heute ist. Und vielleicht sehen wir Dich bald wieder: als Marktplatz-Designer oder Spreadshop-Betreiber.

Vielen Dank und auf bald!
Dein Spreadshirt-Team“

Mein Problem: ich hatte keinerlei Emails mehr von denen erhalten seit dem 23.06.18. Dieses „im März angekündigt“ oben hatte ich daher überhaupt nicht auf irgendeinem imaginären Schirm.

Mein Shop war steinalt, klar. Wirklich was verdient hatte ich damit auch nie. Zudem gab es die ein oder anderen toten Links. Doch er war immer noch funktional und eingebettet in diverse Webseiten von mir, u.a. cipha.net und zockerseele.com.

Es war auch etwas Aufwand das WordPress-Plugin für den Shop zukunftssicher und PHP7-tauglich zu machen in meiner Freizeit.

Von meinem Standpunkt aus hätte der Shop also noch ein paar hundert Jahre so weiterlaufen können.

Eigentlich.

Ich schrieb umgehend dem Support der Leipziger und versuchte zu retten, was offenbar nicht mehr zu retten war:

„Hallo S.,

vielen Dank für Deine E-Mail.

Es tut uns Leid, dass Du Dich nicht mehr einloggen kannst.

Wir haben versucht unsere Partner über viele unterschiedliche Kommunikationswege, wie etwa das Forum, den Blog, die Infoboxen im Nutzerkonto, sowie den Newsletter über die Migration der Nutzerkonten zu informieren. Dabei haben wir auch erwähnt, dass wir alle Nutzerkonten schließen werden, die in den letzten 36 Monaten nicht genutzt wurden.

Nachdem Dein Nutzerkonto schon lange nicht mehr genutzt wurde, haben wir uns dazu entschieden dieses zu schließen.

Du kannst Dich gerne erneut bei uns anmelden und vom verbesserten Partnerbereich profitieren.

Mehr Informationen findest Du in den folgenden Blogbeiträgen:
https://www.spreadshirt.de/blog/2019/03/27/die-lang-erwartete-migration-in-den-partnerbereich-steht-an/
https://www.spreadshirt.de/blog/2019/03/27/shopbetreiber-was-bedeutet-die-migration-fuer-dich/
https://www.spreadshirt.de/blog/2019/03/26/marktplatz-designer-was-die-migration-fuer-dich-bedeutet/

Wenn Du Dich nicht für Newsletter registriert hast, dann hast Du die entsprechenden Emails nicht erhalten.

Für weitere Fragen stehe ich jederzeit zur Verfügung.

Mit freundlichen Grüßen

D.
Spreadshirt Service“

In meiner Antwort versuchte ich sachlich zu bleiben, aber das war nicht mehr ganz so einfach, nachdem die Blog-Links von denen auch nur Marketing-Bla waren und keinen Schritt weiterhalfen:

„Hallo D.,

ist doch völliger Blödsinn, was ihr dort publiziert:

Wenn jemand keine Verkäufe mehr hatte vor 2016, wird dieser einfach gelöscht.

Mein Shop war 17(!) Jahre alt, dazu betreibe ich einen Indie-Verlag. In dem Fall kümmern wir uns wenig um Verkäufe irgendwo. Ihr kommt eigentlich ebenfalls aus der Indie-Ecke, war zumindest früher so.

Was ist denn bzgl. DSGVO und meinen Daten? Wo kann ich meine Daten abrufen und meine Motive, bevor Ihr alles gelöscht habt? So eine Möglichkeit sollte es geben können.

Ich bin nicht sicher, ob ich einen neuen Shop noch erstellen will. Mindestens die Motive waren ja mein Eigentum, dass Ihr es mit dem Shopsystem versemmelt ist nicht mein Senf.

Alles Gute und Hut ab für diese gelebte Ekligkeit,

S.“

Die Antwort, endgültig:

„Hallo S.,

vielen Dank für Deine Rückmeldung.

Die Designs haben wir nicht behalten sondern ebenfalls gelöscht.

Es tut mir leid, dass das für Dich überraschend war, jedoch haben wir über viele Monate versucht unsere Partner zu benachrichtigen.

Du selber kannst Deine Daten nicht mehr abrufen, da das Konto nicht mehr existiert.

Für weitere Fragen stehe ich jederzeit zur Verfügung.

Mit freundlichen Grüßen

D.
Spreadshirt Service“

Wie geil! O.O

Und so kam meine Kollaboration mit einem einstigen Leipziger Indie-Unternehmen, heute eine AG(!) mit über 500 Mitarbeitern, zu einem jähen Ende.

Alles Gute Euch dort! Und mein Beileid, dass Ihr dort arbeiten müsst…

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

datenkolonialismus

Wichtiges Thema, sehr gute Blickwinkel, die Ali Rae in ihrer fünfteiligen Serie „All Hail The Algorithm“ hier genauer untersucht:

Die Rede ist vom Datenkolonialismus.

Eigentlich kaum Unterschiede zu den Zeiten des Spaniers Christoph Kolumbus und dem „Entdecken der Neuen Welt“. Nur, dass Kolumbus heute vornehmlich zwei Staaten darstellt, die USA und China, und die „Neue Welt“ eben die Virtualität (oder was man hierzulande häufig unter „Neuland“ versteht).

Zu Wort kommen zwei Autoren, die das Thema versuchen wissenschaftlich anzupacken und ein Buch darüber geschrieben haben, Ulises Mejias und Nick Couldry. Das ist alles weitestgehend nachvollziehbar und wenig neu gewesen.

Neu und wo uns bisher völlig der Einblick fehlte ohne diese Reihe, sind Staaten, die direkt von dieser neuen Art Kolonialismus betroffen sind und die beispielsweise vom afrikanischen Kontinent stammen.

Hier sind es Nanjala Nyabola, eine Autorin und politische Analystin, sowie Nanjira Sambuli, ihres Zeichens Aktivistin des World Wide Web Foundation-Forums, das 2009 vom Web-Erfinder persönlich, Tim Berners-Lee, ins Leben gerufen wurde, und sich für ein „offenes und freies Web für jeden Menschen“ einsetzt.

„We’re the bodies producing the data – but we’re not necessarily the ones benefitting from that.“ – Zitat Nanjira Sambuli

Europa hat erst letztes Jahr mit der DSGVO (Datenschutzgrundverordnung) ein Zeichen gegen diese Art des Datenmissbrauchs gesetzt. Es kann als erster Schritt der EU gesehen werden, sich gegen „Big Data“ und deren Sammelwut zu wehren. Solange jedoch nicht die darin enthaltenen Sanktionen auch ordentlich und in voller Höhe vollstreckt werden, könnte dieses neue Gesetz auf Dauer zu einem „Papiertiger“ zusammenfallen.

Staaten wie die afrikanischen besitzen solche starken, recht schnellen Gesetzgebungsorgane nicht, das wird auch in diesem Film sehr deutlich. Es bleibt abzuwarten, wie sich solche Regionen gegen diese mächtigen Konzerne wehren wollen, wenn dies überhaupt möglich sein sollte.

Was Ali Rae hier liefert ist grundsolide und mutig, absolute Anschau-Empfehlung!

Gleichzeitig finde ich persönlich es natürlich wieder sehr bedrückend, solche Begrifflichkeiten weit im 21. Jahrhundert lesen zu müssen. Insbesondere in Verbindung mit IT-Themen. Das geht in die selbe Richtung wie „quantum supremacy“. Gut, da können die Quanten nichts dafür, doch „supremacy“ ist eine ekelhafte Idiologie, über die wir uns längst hinweggesetzt haben sollten. Da es leider keinen deutschsprachigen Eintrag bei Wikipedia gibt, verlinke ich hier zum Abschluss den englischsprachigen: https://en.wikipedia.org/wiki/Supremacism.

[Update I, 15.12.19]

Gerade die Beobachtungen in der Schlusspassage meines Textes hier stoßen mittlerweile weiteren Wissenschaftlern auf: im Magazin „Nature“ wurde ein Brief publik, verfasst von 13 Wissenschaftlern, die diesen Begriff ebenfalls nicht tolerieren wollen. Das sind nicht viele, aber immerhin. Sie fordern darin das abwertende und rassistische Wort „supremacy“ durch „advantage“, also übersetzt Vorteil, zu ersetzen.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (Rate me? // Beitrag bewerten?)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

samsung sbw

Bundeswehr
Oben: BUNDESWEHR. Symbolbild. CCBY Trending Topics 2019

2019. Irgendwo in Deutschland. Ein altes Telefon von SIEMENS. Es tutet. Und tutet. Nach etwa 15 Minuten nimmt jemand ab. Gekeuche. Danach permanentes Geschnaufe in die Sprechmuschel.
Bundeswehr (BW): JA??
Samsung, Marketingabteilung (SMA): Hallo, hier spricht Samsung, ihr südkoreanischer Handyhersteller des Vertrauens!
BW: AIRBUS??
SMA: Nein. Samsung! Wir haben gehört, dass die Truppe mit unseren jüngst belieferten S8-Smartphone-Geräten nicht zurecht kommt.
BW: JA??
SMA: Und dass die gelieferten 16.000 Stück vom Mai ohne Internetverbindung nutzlos seien.
BW: JA??
SMA: Wir haben uns daher mit einem süddeutschen Partner zusammen geschlossen und…
BW: JA?? HALLO??
SMA: …würden Ihnen nun gerne zusammen mit diesem eine aktualisierte und intuitiv nutzbare Version der Hardware inklusive „eines hochsicheren Betriebssystems auf Android-Basis“ aufbauend auf der hauseigenen, südkoreanischen Sicherheitssoftware „Knox“ zur Verfügung stellen.
BW: JA?? WIE WAR NOCHMAL IHR NAME??
SMA: Samsung! Ihr südkoreanischer Handyhersteller des Vertrauens!
BW: SAMSUNG?? KOREA??
SMA: Genau! Samsung! Ihr südkoreanischer Handyhersteller des Vertrauens!
BW: SCHLITZAUGEN?? SEID’S NOCH GANZ DICHT??
SMA: Entschuldigen Sie?
BW: JA??
SMA: Wie haben Sie uns gerade genannt?
BW: JA??
SMA: Schlitzaugen?
BW: JA??
SMA: Ja?
BW: JA?? HALLO??
SMA: Wir sind doch richtig bei der deutschen Bundeswehr?
BW: JA??
SMA: Ihre Truppe erhält bald neue Handys! Mit Internet! Und Twitter! Von Samsung!
BW: NEIN. REISFRESSER WOLLEN WIR NET.
Aufgelegt.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (1 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

aphex twin live in london

Bin mir nicht sicher, wie mir das entgehen konnte:

Zu sehen sind die wichtigsten zwei Stunden europäischer elektronischer Musik in einem einzigen YouTube-Mitschnitt seit über einer Dekade.

Richard D. James aka Aphex Twin plus seiner Frau, live und mit Online-Tracklist am 14. September in London.

Für Enddreißiger wie mich ist Aphex Twin einer der Electronica-Superhelden aus den 90ern.

Einer, der mit einem einzigen Musikvideo (Windowlicker) MTV, den US-amerikanischen Life- und Hype-Style, die gesamte Electronica-Subkultur, und zuletzt sich selbst gebumsvögelt hat (seine Hackfresse ist das gesamte Video über zu sehen). Und das als Ire. Besser ging es damals nicht.

Ich wusste lange nicht, dass er Ire ist, übrigens. Da war noch nix mit Wikipedia, YouTube und Gedönsen. Umso erstaunlicher, was er da visuell verballern konnte. Keine Ahnung, wie so etwas funktionieren konnte. Wenigstens verstand ich die Message. Und der Track war einfach übelst geil (Motto „typisch Aphex Twin“)!

Dank geht raus an Felicity Martin für einen rein zufälligen, doch mir sehr wichtigen Fund der letzten Tage.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (1 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

vollporno-wertverlust

Die Geschichten der New Economy waren von jeher verrückt. Neuestes Beispiel ist die Akquise von Tumblr durch WordPress bzw. dessen Mutterkonzern Automattic:

WordPress kauft Tumblr zum Spottpreis
Oben: Aktuelle Schlagzeilen zum WordPress-Tumblr-Deal

Im Jahr 2013, also vor sechs Jahren, kaufte Verizon den Microbloggingdienst aus New York City für sagenhafte 1,1 Milliarden US-Dollar.

Heute, 2019. wird Tumblr an Automattic mit ca. 450 Millionen Blogs an Automattic sprichwörtlich für nur 20 Millionen US-Dollar verramscht.

Dies entspricht einem Wertverlust von 98+% in nur sechs Jahren.

Erst im Dezember 2018 blockte Tumblr offiziell auf seiner Plattform Sex & Porno. Ob dies zu diesem Wertverlust beigetragen hat bleibt natürlich Spekulation, und da war sicherlich noch viel viel mehr im Argen, doch das ist, was ich einen pornösen Wertverlust nenne!

Wünsche ich niemandem, und Tumblr schon gar nicht. Glückwunsch an Automattic! Ist ein fettes Erbe, was nun zu WordPress gehört, mit oder ohne Porno.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (2 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

disable gutenberg

Das hier ist Johannes Gutenberg, 14./15. Jahrhundert, er gilt als „Erfinder des Buchdrucks“:

Johannes Gutenberg

Das hier ist das offizielle Logo von WordPress, 21. Jahrhundert, es gilt als „eines der besten und freiesten Content-Management-Systeme unserer gesamten Welt“:

WordPress Logo 128px

Beide haben rein gar nichts miteinander zu tun.
Und so hätte es für immer bleiben sollen.
Und in meiner Onlineautoren-Welt wäre nach wie vor alles gut.

Gutenberg. So nennt sich seit Dezember 2018 auch der Standard-Editor zum Schreiben der Texte von WordPress-Blogs, wie gizm{e}o.eu hier eines ist. Bis zum heutigen Tag brachte dieser „modernere Editor“ mir nur Ärger nach jedem WordPress-Update: ich brauche das gar nicht, was soll das, wieso kann ich das nicht abstellen!?

Gut, was soll’s, ich bin Coder, richtig? Also kann man von mir auch verlangen, dass ich gratis und nach jedem Update der WordPress-Software (und davon gibt es pro Jahr extrem viele, weil WordPress basiert auf einer Skriptsprache, PHP…) händisch eine Zeile in meine functions.php hinzufüge, die da lautet add_filter('use_block_editor_for_post', '__return_false');, richtig? Richtig!? Nope. Habe ich aber für meine eigenen Online-Medien tatsächlich bis zum heutigen Tag gemacht. Insgesamt 8 Stück. -.-

Heute, nach über 7,5 Monaten, entschied ich mich final und auf eigenes Risiko, das Problem auf „die alte WordPress-Art“ zu lösen:

1. Klicke links im Menü auf den Reiter „Plugins“
2. Klicke auf „Installieren“
3. Suche nach Schlüsselwörtern „Disable gutenberg“
4. Installiere neues Plugin „Disable Gutenberg“
5. Aktiviere neues Plugin „Disable Gutenberg“
6. Vergiss‘ diesen Scheißdreck für immer

Fick. Dich. Gutenberg.

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (2 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^

social-network-revolution fuer dummies

Hier sind die Logos, die Facebook töten werden:

ActivityPub-Mastodon_Facebook-Killer-Logos

ActivityPub-Mastodon_Facebook-Killer-Logos

Facebook ist böse, Facebook ist ein zentraler Big-Brother-Dienst, Facebook ist Schuld am „Brexit“ und überhaupt an der Verblödung der Massen, ob nun mit oder ohne Datenskandal(e), ob nun mit oder ohne Milliardenzukäufe drittklassiger Webdienste, ob nun mit oder ohne CEOs mit Kackfresse und Asiatinnenfetisch.

Wirklich alles von dem, was da oben steht stimmt und ist mittlerweile auch bewiesen, widmen wir uns nun der Zukunft der sozialen Netzwerke, dem dezentralen ActivityPub-Protokoll (Logo ganz links)!

Wie es funktioniert, steht hier.

Geadelt durch das W3C seit Januar 2018.

Und da wir alle heutzutage überhaupt keine Zeit mehr haben, weil der Klimawandel Mensch und Maschine gleichzeitig zusetzt, nicht nur in diesem Jahr (irgendwas ist immer…), hier die Zusammenfassung der Funktionsweise des dezentralen Facebook-Killers in acht Punkten:

1. sende einen Post zu einem Webserver
2. „webfinger„, sprich übermittle mir ein paar Hintergrunddaten zur URI, mit der Hilfe eines Cache
3. ActivityPub schaut nach Eingängen für jeden Empfänger, ebenfalls mit der Hilfe eines Cache
4. sende an den Posteingang für jeden Empfänger
5. um die Signatur der Herkunft zu verifizieren, schaut der Empfänger den Schlüssel nach, auch wieder per Cache
6. Empfänger bekommt angehängte Medien und Link-Vorschauen (optional, aber was hätte ein „dezentrales soziales Netzwerk“ sonst für einen Sinn!?)
7. Empfänger bekommt die Posts des hochgeladenen Datenstroms (optional…)
8. Benutzer sieht den Post

Das war’s!

Mehr haben wir nicht.

Mehr wird’s wohl auch nicht geben in naher Zukunft.

So hart war’s Facebook zu schlagen.

Und so „einfach“ am Ende.

Passt auf jeden Bierdeckel.

P.S.: Wem das alles immer noch zu viel ist, nutzt einfach Mastodon, hier bei gizm{e}o.eu bereits im September 2017 vorgestellt. 🙂

1 Star - nope!2 Stars - meh!3 Stars - good!4 Stars - excellent!5 Stars - supercalifragilisticexpialidocious! (1 votes, average: 5,00 out of 5)
Loading...

Flattr this!
Ether spenden // Donate Ether
Bitcoin-Spenden hier akzeptiert ^^