Nachhaltigkeit in der IT? Ja, bitte! - Carlos Fernandez - podcast episode cover

Nachhaltigkeit in der IT? Ja, bitte! - Carlos Fernandez

Jul 02, 202437 minEp. 80
--:--
--:--
Listen in podcast apps:

Episode description

Nachhaltigkeit in der IT gewinnt zunehmend an Bedeutung, insbesondere durch Performanceoptimierung. Carlos Fernandez, erfahrener Softwareentwickler und Performance-Tester bei DATEV eG, bringt seine Leidenschaft für dieses Thema ein. Durch die effiziente Nutzung von IT-Ressourcen, wie der Optimierung von Bildern auf Webseiten und energieeffizienten Coding-Praktiken, leistet er einen Beitrag zum Umweltschutz. Der bewusste Umgang mit IT-Ressourcen und praktische Tipps zeigen, wie kleine Änderungen im Entwicklungsprozess zu großen Einsparungen führen können. Es ist wichtig, das Bewusstsein für Nachhaltigkeit in der IT-Community zu schärfen und gemeinsam an Lösungen zu arbeiten, die sowohl der Umwelt als auch der Wirtschaft zugutekommen.

Transcript

Hallo und herzlich willkommen zu einer neuen Folge vom Podcast Software Testing. Bei mir heute zu Gast Carlos Fernandez. Wir holen diese Folge von der OOP ein bisschen nach, weil wir auf der Konferenz keine freie Minute mehr gefunden haben, um diese Folge aufzunehmen. Aber das Thema ist ein ganz wichtiges, darum muss es unbedingt in diesen Podcast rein und zwar geht es um Nachhaltigkeit.

Carlos ist Softwareentwickler und Performancetester bei der Firma DATEV und setzt sich seit langer Zeit für mehr Nachhaltigkeit in der Softwareentwicklung und IT ein. Wie er das macht, erzählt er uns in der heutigen Folge. Viel Spaß beim Hören. Hallo Carlos, schön, dass du da bist. Ich freue mich hier zu sein, Richard. Sehr schön. Das ist ja sozusagen eine Nachholfolge von der OOP, weil wir da keinen Slot mehr gefunden haben.

Aber okay, dann machen wir das im abendlichen Rahmen jetzt hier so quasi gemütlich zusammensetzen online und quatschen da ein bisschen über das Thema. Ja, das hat ja leider nicht geklappt. Ja, hat leider nicht geklappt, aber das wird jetzt dafür umso besser. Hoffe ich auch. Ja, und du hast ja ein… Ich weiß nicht, stimmt. Beschäftigt ja auch ein brennendes Thema unserer Zeit.

Ich habe schon ein paar Podcast-Folgen zu dem Thema auch gehabt und merke auch immer, da kommt viel Feedback von der Community auch dazu. Das bewegt gerade die Menschen und zwar das Thema Nachhaltigkeit. Sustainability, wie man so auch noch so hübsch sagt dazu. Ja, steigen wir da vielleicht gleich mal mit ein, mal ganz generell. Wieso beschäftigt dich das? Wie beschäftigt dich das gerade so in der Softwareentwicklung? Ja, ich bin schon ziemlich lang in der Softwareentwicklung.

Über 25 Jahre bin ich Softwareentwickler und ein Thema hat mich schon immer beschäftigt. Das ist die Performance. Performance-Analyse, Performance-Optimierung. Ich komme praktisch aus dieser Ecke und mache schon seit dem .NET Framework 1.1 bin ich beim .NET Framework. Habe die ganzen Versionen seitdem mitgemacht. Und immer wieder haben mich diese Themen beschäftigt mit der Performance.

Und irgendwann habe ich gemerkt, wenn wir die Performance von der Software verbessern, dann erreichen wir die gleiche Funktionalität einfach mit weniger Ressourcen, weniger CPU, weniger Hauptspeicher. Und das sind die direkten Einflüsse. Aber indirekt sparen wir ja auch Strom, weil die CPU dann weniger rechnen muss, weniger Stromverbrauch. Und weniger Stromverbrauch. Und weniger Stromverbrauch ist ja letzten Endes gut für den CO2-Fußabdruck.

Und deswegen sage ich immer, okay, wir versuchen auch in der Software Ressourcen zu sparen, Performance zu verbessern und damit dann Beitrag für die Umwelt zu leisten. Also eine der Möglichkeiten, die man machen kann, um jetzt für mehr Nachhaltigkeit zu sorgen. Das jetzt auf Software-Ebene, als Softwareentwickler. Natürlich haben wir auch... Wir haben auch Möglichkeiten, im Unternehmen was zu tun. Das sind aber andere Ansätze.

Dann sprechen wir auch ganz andere Leute an, wie wir auch auf der OOP mit unserem Vortrag das Ganze gruppiert haben. Und zwar hatten wir einen Teil in unserem Vortrag, der ging in Richtung Unternehmen. Was kann ein Unternehmen machen? So auf oberster Ebene, wie zum Beispiel grünen Strom beziehen. Nachhaltigkeit darüber beziehen. Also aus erneuerbaren Energien den Strom zu beziehen. Das ist eine der Möglichkeiten. Aber auch, ja, den Stromverbrauch an sich zu senken. Innerhalb der Firma.

Was kann man das tun? Wo gibt es Ansätze? Können wir irgendwelche Geräte abschalten? Können wir Dinge einfach abschalten, die wir über Nacht nicht brauchen? Die wir an Feiertagen nicht brauchen? Ja. Oder... Oder in noch größerem Stil, wenn wir Rechenzentren brauchen oder Rechenzentren selber betreiben, dass wir da eine Standortwahl machen. Wo können wir oder wo sollte unser Rechenzentrum stehen? Es ist ja nicht das Gleiche, ob das Rechenzentrum jetzt in Finnland steht oder ob es in Italien ist.

Da, wo die warmen Gebieten sind, dann ist die Umgebung luftwärmer. Das heißt, wir brauchen noch mehr Kühlung für die... Für die Rechner. Wir brauchen noch mehr Strom, als wenn wir dort sind, wo die Umgebung schon kälter ist. Oder Wärmerückgewinnung. Darüber denkt die DATEV ja auch nach. Wie können wir die Wärme, die da produziert wird in Rechenzentren, rückgewinnen? Nochmal wieder einsetzen und gar nicht verpuffen lassen. Oder Unternehmensvorgaben.

Man sagt, dass die Mitarbeiter abends, wenn sie gehen, die Monitore ganz abschalten. Licht abschalten sollen. Es sind alles Kleinigkeiten, aber die summieren sich einfach. Ja, Kleinvieh macht auch Mist. Und ich denke, meine DATEV ist ja auch ein großer Laden, muss man sagen. Da sind ja viele Monitore. Da stehen ja nicht nur zwei rum. Nein, wir haben ein Gebäude, da sind Plätze, glaube ich, für 1800 Leute. Also 1800 Arbeitsplätze. Da kommt was zusammen. Das ist nur einer von etlichen Standorten.

Klar, jetzt mit Homeoffice oder zu Corona-Zeiten war viel Homeoffice angesagt. Jetzt sind die Standorte wieder relativ voll. Aber es gab auch Zeiten, wo dann halt viele daheim waren. Das gilt eigentlich dasselbe. Gut, der Strom ist dann halt privat. Das ist nicht der von der Firma. Aber insgesamt für die CO2-Bilanz kommt es aufs Gleiche raus. Ich vertrete die Technik. Die Entwicklerseite. Deswegen haben wir dieses Thema dabei gehabt. Was kann ein Unternehmen tun?

Aber der größere Part unseres Vortrages war tatsächlich, was kann ein Entwickler tun für mehr Nachhaltigkeit? Da sind wir mit diversen Beispielen einfach dahergekommen. Genau, ich glaube, das ist auch der spannende Part hier für uns. Weil wir haben natürlich hier in der Community ganz viele Entwickler, Testautomatisierer, Tester, die natürlich da sehr nah an der Softwareentwicklung auch sind.

Und ich finde es sehr schön, dass du das ja quasi schon in deiner Historie mitträgst, über deinen Sinn für Performance, da schon auch immer an Sparsamkeit auch zu denken und an Ressourcen. Was sind denn so Stellschrauben, die ich als Entwickler habe, um nachhaltiger wirtschaften zu können mit meinen Ressourcen? Bevor ich auf die Frage eingehe, würde ich noch ein Wort verlieren. Und zwar.

Wir befinden uns in einem Zeitalter, wo wir sehr verschwenderisch umgehen mit der Software, mit den Ressourcen. Früher, zu DOS-Zeiten, da hat man auf jedes Byte geschaut. Man hat geschaut, dass man nicht über diese magische 640k-Grenze kommt. Die Älteren von uns wissen das noch. Aber die heutige Jugend, die kennt das ja gar nicht. Die programmieren einfach drauf los. Und Hauptspeicher ist billig.

Und wenn man einfach noch mehr braucht, dann denkt man, man schiebt einfach noch einen Riegel dazu und fertig. Und so kommt es auch, dass mit jeder Windows-Version dann noch speicherhungriger, noch mehr Speicher brauchen die Rechner. Irgendwann reicht es einfach nicht aus. Dann sind 16 GB zu wenig. Dann braucht man 32 GB. Und das ist immer mehr. Und man denkt, naja, der Rechner hat ja genug. Und bei 64-Bit-Anwendungen. Da scheint dann praktisch die Grenze unendlich zu sein.

Früher bei 32-Bit hattest du ja noch diese 2-Gigabyte-Grenze. Ja, mit 64-Bit verschiebt sich die Grenze und plötzlich hast du so viel Speicher, kannst praktisch alles haben. Und das stimmt ja auch nicht, weil du bist ja nicht der Einzige auf dieser Kiste. Du bist ja nicht das einzige Programm, was da drauf läuft. Alle müssen sich irgendwie diese Ressourcen teilen. CPU, Hauptspeicher. Ja. Und. Das ist auch mein Kritikpunkt.

Das heißt, wir alle als Softwareentwickler, Tester, wir gehen einfach zu verschwenderisch um. Gerade was den Hauptspeicher angeht und was CPU angeht. Und da sollten wir einfach mal ein bisschen mehr drauf schauen. Als aber auch auf Bandbreite. Wie viel übertragen wir denn, wenn es praktisch um rechnerübergreifende Kommunikation geht? Mhm. Und. Ja. Du hast gefragt nach Beispielen. Wo kann man denn da ansetzen? Wenn ich jetzt. Ich greife jetzt einfach ein Beispiel aus unserem Vortrag heraus.

Und zwar bei Bildern. JPEGs. Bilder überhaupt. Wenn man die irgendwo in der Webseite platziert. Dann ist es ja so. Das Bild wurde vielleicht mit einer richtig guten Kamera aufgenommen. Das Bild hat vielleicht 12 Megapixel. Ja. Das sind. 3 mal 4000 Pixel grob gesagt. So groß ist aber dein Bildschirm nicht. Mhm. Also normalerweise nicht. Also vielleicht 1900 in die eine Richtung. Ja. Maximal. Oder du schaust dir das Ganze auf dem Tablet oder auf dem Handy an. Hast auch nicht so viel Pixel.

Das heißt. Der Webseitenentwickler, der setzt dann eine breitere Höhe an. Für dieses Image. Mhm. Was aber bedeutet, dass die Software, der Browser. Der skaliert es dann runter. Also das bedeutet, wenn du auf der Webseite das Originalfoto hinterlegst. Mit 12 Megapixeln. Ja. Braucht vielleicht als JPEG ungefähr 3 Megabyte Speicherplatz. Dann lädt sich ja jeder Webseitenbenutzer diese 3 MB erstmal runter. Und dann wird das von der Software herunter skaliert.

Mhm. Also es belegt am Ende viel weniger Pixel. Man hätte natürlich auch gleich dieses Bild von vornherein runterskalieren können. Und so ablegen. Und dann spart man schon einiges an Kilobyte. Mhm. Mhm. Und ich habe dann ein Beispiel gezeigt, was man noch alles tun kann. Also auf die auf das Reduzieren der Pixelgröße. Da kommt ja jeder drauf. Mhm. Ja. Das ist die nächste Stellschraube wäre zum Beispiel die Qualität.

Mhm. Ja. Wenn wir ein JPEG speichern, dann können wir an der Qualitätsschraube drehen. Wir können sagen okay, dann nehmen wir es mal auf 50 Prozent runter. Speichern das nochmal abschauen. Und wir das mal an. Mhm. Und dann sehen wir da überhaupt im menschlichen Auge einen Unterschied. Oftmals sieht man ja keinen Unterschied. Da muss man schon mit der Lupe was, mit der Lupe suchen. Wo ist da ein Unterschied? Ansonsten macht es einfach keinen Unterschied.

Man hat jetzt eine deutliche Einsparung an Dateigröße. Das ist der eine Schritt. Dann habe ich ein Bild gehabt. Da habe ich dann mit, was war der nächste Ansatz? Dieses Fokussieren. Oder dieses Verschwimmen vom Hintergrund. Also dass man sagt, ich habe ja was fotografiert. Ich möchte was auf diesem Bild scharf haben, aber in der Mitte haben. Alles was so hinten im Hintergrund ist, das möchte ich so ein bisschen verschwommen dargestellt haben.

Ja. Und schon kommen wir von den 3 MB auf 1,5 MB raus. Bei gleicher Pixelzahl. Also bei den 12 Megapixeln. Dadurch, dass wir sagen, wir fokussieren hier. Wir machen diesen Punkt. Diesen Portraitmodus, was manche Handys ja auch bieten. Und schon haben wir das Ding auf die Hälfte reduziert. Und wenn wir dann noch diese anderen Punkte anpflanschen und sagen, wir machen noch die Pixelreduktion, wir machen noch die Qualitätsreduktion. Dann kommen wir von diesen 3 MB, kommen wir runter auf 86 KB.

Und das Bild sieht aber optisch vielleicht sogar noch besser aus durch diesen Fokus. Ja. Und wir haben 97%. Ja. Oder 90% der Dateigröße eingespart. Und das bei einem Benutzer. Ja. Jetzt ist aber eine Webseite schreibt man nicht für einen Benutzer, sondern vielleicht für 100.000 oder Millionen. Ja. Und das skaliert. Also je mehr Requests man hat, desto stärker skaliert das Ganze. Und das Einsparpotenzial ist einfach gewaltig. Bei Bildern. Da kann man halt ansetzen.

Ja. Es geht halt, stoppt aber nicht bei den Bildern. Es geht ja weiter bei Videos ja auch. Ja. Zum Beispiel, Autoplay sollte man nicht machen auf Webseiten. Ja. Dass man sagt, ich lande auf der Seite und schon wird ein Video abgespielt. Ja. Kostet ja auch Bandbreite. Oder die Auflösung des Videos. Man könnte ja auch erstmal hinschreiben, wie groß ist die Datei, bevor man sie sich herunterlädt. Solche Geschichten. Ja, das waren so zwei Beispiele fürs Web. Ja, es geht ja noch weiter.

Man könnte auch sagen, für Icons und für solche Dinge, die nicht fotorealistisch sind, dass man da vielleicht versucht, Vektorgrafiken zu verwenden. SVGs statt PNGs. Ja. Die sind skalierbar. Das heißt, man verliert überhaupt keine Qualität, wenn man die rauf und runter skaliert. Und die Dateien sind deutlich kleiner. Ja. Also im Web kann man sehr viel machen. Web und Online ist ein riesiger Markt. Also es sind ja sehr viele Benutzer da unterwegs. Nicht nur im Browser.

Es gibt ja auch diverse Apps auf dem Handy, die Web-Apps sind, die Web-basiert sind. Das heißt, da ist ein riesen Potenzial. Ja. Also wenn ich da denke an Netflix und solche Geschichten. Da ist natürlich, wenn man da 100 MB irgendwo oder 10 MB sparen kann, mal Faktor User, mal Faktor Länge. Das bringt dann schon viel. Ja, das sind ja schon gewaltige Zahlen. Ich meine, wenn ich da jetzt hier über 90% mehr einsparen kann an so etwas. Also ich bin auch selber bei meiner Website immer wieder dran.

Ich versuche, das auch ein bisschen umzusetzen. Und ich denke mir immer, wo kann ich noch mehr reduzieren? Und da ist ja mittlerweile in der Web-Kommunikation auch so viel Overhead da mit Style Sheets, mit JavaScript, dass es einfach nur ein bisschen fancy aussieht. Aber quasi ständig Traffic. Ja. Und da ist ja auch so ein bisschen, dass man sich da auch immer wieder auf die Webseite konzentriert.

Ja. Und da ist ja auch so ein bisschen, dass man sich da auch immer wieder auf die Webseite konzentriert. Ja. Und da ist ja mittlerweile in der Web-Kommunikation auch so viel Overhead da mit Style Sheets, mit JavaScript, dass es einfach nur ein bisschen fancy aussieht. Aber quasi ständig Traffic erzeugt, der vielleicht auch einfach unnötig ist, den man einfach auch weglassen kann. Da hat man aber auch vom Browser ganz gute Tools.

Wenn man da F12 drückt und dieses Developer-Window aufmacht, dann kriegt man da gerade im Chrome und im Edge einfach schon. Super Tipps. Ja. Super Insights, sage ich jetzt mal, wenn man eine Website gestaltet. Man sieht auch zum Beispiel, wie viele Requests macht die Webseite. Ja. Sind da ein paar dabei, die unnötig sind. Manchmal entdeckt man auch Requests, die mit dem Status 404 zurückkommen. Das heißt, Requests, die tot sind. Ja. Auf veraltete Seiten, die es gar nicht mehr gibt.

Also das sind auch Sachen, die man einsparen kann. Und ja, mit CSS kann man natürlich auch viel machen. Man kann natürlich auch viel einsparen. Ja. Wenn man auf Styles im HTML selber sparsam ist und das Ganze versucht mit CSS zu machen. Genau. Jetzt hast du ja, du kommst ja aus der .NET-Welt, hast du gesagt, wo du dieses, das ist ja schon eine auch sehr, sagen wir mal, eine gut gewachsene, solide Programmiersprache.

Hast du dich auch da beschäftigt, wie kann ich da Code effizienter schreiben, besser schreiben, dass er weniger Ressourcen braucht? Ja, das ist tatsächlich etwas, womit ich mich sehr beschäftigt habe und auch öfters auch angewandt habe. Da sage ich immer, nicht nur den Produktivcode optimieren, sondern auch an die Tests denken. Weil oftmals schreibt man die Tests einfach so, man schüttelt die so ein bisschen aus dem Ärmel, schnell runtergeschrieben. Da wird viel mit Copy und Paste gearbeitet.

Und dann nochmal ein Testcase und nochmal ein Testcase. Ah, wenn wir den Testcase von da vorne, den wandeln, den kopieren wir und wandeln den ein bisschen ab. Ja. Und gerade die Tests, die dann über die UI gehen, wo dann viel über die UI getestet wird. Ja, an Funktionalität, an Business-Logik praktisch. Das sind ja eigentlich schon Integrationstests. Aber wenn die ausgelegt sind wie Unit-Tests, dass man sagt, okay, das sind die essentiellen Tests, dann brauchen die ziemlich lang.

Und wir beide denke ich wissen das. Tests über die UI brauchen eigentlich lang, relativ lang, weil wir da Verzögerungen einbauen müssen, weil wir nicht genau wissen, wann ist denn jetzt das Feld aktiv, wann kann ich jetzt was reinschreiben und solche Dinge. Ja, das bedeutet, man kann in der gleichen Zeit sehr, sehr viel weniger Tests automatisiert ausführen, wenn man es über die Oberfläche macht. Deswegen sind ja diese Unit-Tests, die sind dann auch sehr, sehr wichtig.

Deswegen sind ja diese Unit-Tests, die ohne Oberfläche auskommen, so wichtig, weil die einfach schnell ablaufen können. Da können wir locker 4, 5, 10.000 Tests pro Sekunde laufen lassen, wenn die wirklich kurz sind. So viele kannst du über die Oberfläche gar nicht abfrühstücken. Genau. Was kann man machen in .NET war die Frage. Tatsächlich habe ich mal auch einen Vortrag gehalten, writing highperformance .NET code. Ja. Auf der DBX.

Und da kam ich mit sehr low-level Geschichten an, weil mir war wichtig, Tipps an die Hand zu geben, was man tagtäglich beherzigen kann, ohne dass ich jetzt unbedingt einen Profiler laufen lassen muss. Weil oft sagt man ja, oder was heißt oft, eigentlich sagt man immer, messen, verbessern, wieder messen. Ja. Und dann muss man sich auch noch mal ein bisschen optimieren und wieder profilen, ob das was gebracht hat.

Nur, wenn man lange genug dabei ist und lange genug das gemacht hat, dann kristallisieren sich so ein paar Dinge heraus, wo man sagt, okay, das muss ich nicht mehr profilen. Also, da gibt es so bestimmte Patterns, wie ich ein Dictionary verwende und zwar optimal verwende. Das brauche ich dann nicht jedes Mal profilen. Aber das befinden wir uns natürlich schon auf sehr starkem low-level. Das sind wirklich Mikroverbesserungen.

Wenn natürlich deine Anwendung irgendwo leidet, dann würde man auf jeden Fall mit einem Profiler herangehen und sagen, schauen, ob da irgendwo eine Methode ist, die so ein Riesenklopper ist. Man fängt natürlich bei den Riesenkloppern an und nicht bei den Mikrooptimierungen. Das ist ganz klar. Ja. Aber was ich damit erreichen wollte, ist, dass man sich nicht nur mit einem Profiler, aber auch mit einem Profiler, das ist ganz klar. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar.

Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Und das ist auch das, was ich auch mit dem Dictionary machen wollte. Das ist ganz klar. Also im Web kann man schon sehr viel machen. Und auf Backend-Seite, da empfehle ich immer zu profilen.

Also ich komme ja aus der Performance-Ecke, aber wenn wir wirklich Performance verbessern können, nicht alle Performance-Verbesserungen führen unbedingt auch zum niedrigen CO2-Fußabdruck. Weil man könnte ja auf die Idee kommen, naja, statt einen Server stelle ich mir zwei hin, dann kann ich ja doppelt so viel leisten, bin ich performanter. Genau. Das meine ich damit nicht. Ich meine, dass wir versuchen, die gleiche Funktionalität mit weniger CPU oder mit weniger Hauptspeicher zu erreichen.

Und das kriegen wir auch nur mit Profiling hin, indem wir hinschauen, indem wir Tools verwenden, die hinschauen, indem wir die Messgrößen ermitteln oder uns festlegen, was wollen wir messen, was wollen wir optimieren. Dann versucht man es zu optimieren. Wenn wir weniger CPU verbrauchen, bedeutet das weniger Stromverbrauch, weniger Wärmeentwicklung. Das heißt, die Rechenzentren müssen auch weniger kühlen. Wenn sie weniger kühlen müssen, dann brauchen die Klimaanlagen auch wieder weniger Strom.

Also das hat alles so einen Rattenschwanz. Ja, genau. Ja, wenn wir da effizienter werden. Und in Zeiten von Online- und Rechenzentren denken wir dann auch an die, an die, an die Kosten von so einem Rechenzentrum. Die berechnen ja nach CPU und Hauptspeicherverbrauch und nach Bandbreite, wie viele Bytes haben wir denn transferiert. Ja, und dann stellt dir Amazon oder Google oder wer auch immer dein Rechenzentrum, Azure, dann kriegst du jeden Monat so eine Rechnung.

Und wenn du aber performanter wirst, ja, dann sinken die Kosten. Du hast dann die, das ist ja eins zu eins. Bist du besser? Ja, das ist ja ein Ressourcenschonender. Hast du sofort im Geldbeutel gespart. Das ist also ein ökonomischer Aspekt, der da mit reinspielt. Und das kann man auch dann verkaufen, weil, geh mal zu deinem Product Owner und sag, ich will meine Software schneller machen. Ja, und dann sagt der, nee, das Feature ist mir wichtiger.

Features sind wichtiger als jetzt irgendwo Performanceoptimierung. Also man, mit Performanceoptimierung selbst kommt man nicht, nicht sehr weit. Ja, weil es schlummert so in den Köpfen. Oh, Performanceoptimierung, das ist teuer, das ist aufwendig. Ja, Kosten-Nutzen-Effekt. Also die wollen ja lieber Features haben. Ja, klar. Aber mittlerweile haben wir auch ein Energieeffizienzgesetz. Ja, bestimmte Dinge müssen wir transparent machen, wenn man ein Rechenzentrum führt.

Also es kommt ja auch jetzt schon von der Gesetzesseite. Gesetzesseite her, dass so ein Druck aufgebaut wird. Ja, genau. Dass man mehr schaut auf Nachhaltigkeit. Daher kommt auch dieses gesteigerte Interesse. Ja. Ich glaube auch, durch diese ganze Cloud-Geschichte ist das natürlich auch ein bisschen abstrakter geworden. Früher quasi, wenn es im eigenen Rechenzentrum war, gesagt, du brauchst noch eine Kiste. Da war so, oh, das ist teuer.

Das braucht jetzt mal drei Monate, bis wir das überhaupt dann verstehen. Und in der Cloud, da gehst du auf eine Website und schiebst den Regler ein bisschen hoch und dann hast du das. Also das ist ja, man ist ja so entkoppelt von dem, was da mittlerweile dahintersteckt. Aber das sind natürlich auch im Endeffekt Rechner, die dann laufen, Kühlaggregate und das alles braucht halt auch Strom. Ja, und erst mal muss ja auch die Hardware da stehen.

Dieses mit dem Regler raufschieben, das ist, wenn du noch nicht auf Volllast bist. Du virtualisierst ja praktisch in Rechenzentren und dann sagst du, ich brauche noch mal eine Maschine. Dann wird halt irgendein Image geklont und binnen kürzester Zeit hast du eine neue Maschine. Aber der Host, der das Ganze hostet, der ist ja auch begrenzt. Der hat eine begrenzte Anzahl an CPUs, eine begrenzte Anzahl an Hauptspeicher. Das heißt, man kann das ja nicht ins Unendliche treiben.

Jetzt brauche ich noch einen, noch einen, noch einen. Nein, irgendwo ist auch eine physikalische Grenze dann gegeben. Und ja, wenn du es zu klein dimensionierst, dann kommst du zu schnell an diese Grenze und dann kannst du nicht mehr hochskalieren. Und wenn du zu groß dimensionierst, ja dann hast du leerlaufende Server. Die verbrauchen ja auch Strom. Ist auch schlecht. Also das ist so ein Spagat.

Also wie groß muss ich denn mein Rechenzentrum machen, damit ich den Bedarf von heute bedienen kann, aber auch noch den Bedarf von morgen. Nicht gerade den von übermorgen, aber vielleicht noch den von morgen. Ja, das ist total wichtig, das auch im Auge zu behalten. Und auch dann eben diese Ganzheitlichkeit des Ganzen zu sehen. Ja, Carlos, leider ist unsere Zeit schon rum. Wir könnten mich jetzt noch eine Stunde mit dir unterhalten, aber das werden wir vielleicht auch mal fortführen.

Ich danke dir sehr, dass du hier heute Rede und Antwort gestanden hast und uns ein paar Tipps und Ideen noch mitgegeben hast, wo jeder für sich mal auch schauen kann, wo man vielleicht was einsparen kann. Ob das jetzt bei der eigenen Website ist oder vom Kaninchenzüchterverband oder im Unternehmen mal zu schauen, wo kann man Profiling einsetzen, wo kann man vielleicht auch da Dinge anstoßen in Richtung Performance zu gehen oder auch eine Green COP zu gründen.

Das finde ich auch eine charmante Idee. Also ganz, ganz tollen Potpourri, was du uns da mitgebracht hast. Danke dir sehr dafür. Bitte, gerne. Ja, ich freue mich auf ein Wiedersehen. Gerne, machen wir. Gut, ciao. Ciao. Musik Musik unter

Transcript source: Provided by creator in RSS feed: download file