Sachverhalt:
A. Die Anklageschrift der Bezirksanwaltschaft I des Kantons Zürich vom 26. November 2001 warf X._ im Wesentlichen vor, er habe sich der Rassendiskriminierung schuldig gemacht, indem er als Assistenzprofessor an der ETH Zürich auf seiner Homepage verschiedene Links gesetzt habe, über welche man auf andere Homepages mit rassendiskriminierendem, namentlich neonazistischem Inhalt habe gelangen können. Das Bezirksgericht Zürich sprach X._ am 10. September 2002 frei. Dagegen erhob die Staatsanwaltschaft des Kantons Zürich Berufung. Das Obergericht des Kantons Zürich sprach X._ mit Urteil vom 30. September 2003 ebenfalls frei. Dieser Freispruch ist in Rechtskraft erwachsen.
B. Nach Auslaufen seiner Assistenzprofessur am 30. September 2002 konnte X._ seine wissenschaftliche Laufbahn nicht fortführen und fand im Forschungsbereich bis heute keine weitere Anstellung mehr.
Das Obergericht des Kantons Zürich wies das Begehren einer persönlichen Entschädigung von X._ am 14. Oktober 2004 ab. Das dagegen angerufene Kassationsgericht des Kantons Zürich hob am 21. November 2005 diesen Entscheid auf und wies die Sache an das Obergericht zurück. Dieses sprach X._ am 25. Oktober 2007 unter anderem eine persönliche Entschädigung von Fr. 129'610.10 zuzüglich Zins zu 5 % seit dem 1. Juli 2003 zu. Dagegen gelangten die Staatsanwaltschaft des Kantons Zürich und X._ wiederum an das Kassationsgericht. Dieses hiess die Nichtigkeitsbeschwerde der Staatsanwaltschaft am 5. August 2008 gut. Die von X._ erhobene Nichtigkeitsbeschwerde schrieb es als gegenstandslos ab.
X._ focht den Zwischenentscheid des Kassationsgerichts mit Beschwerde in Strafsachen beim Bundesgericht an. Dieses trat am 19. Februar 2009 (Verfahren 1B_43/2009) auf die Beschwerde nicht ein.
Das Obergericht des Kantons Zürich fällte am 17. September 2010 über die Kosten und Entschädigungen einen neuen Entscheid. Es wies die Forderung von X._ auf Ausrichtung einer persönlichen Entschädigung ab, worauf dieser an das Kassationsgericht und am 25. Oktober 2010 mit Beschwerde in Strafsachen an das Bundesgericht gelangte. Am 10. November 2010 teilte das Bundesgericht dem Kassationsgericht mit, dass es das vorliegende Verfahren (6B_897/2010) bis zur Erledigung des kassationsgerichtlichen Verfahrens aussetze. Das Kassationsgericht wies die Nichtigkeitsbeschwerde von X._ am 11. November 2011 ab.
C. X._ erhebt am 15. Dezember 2011 erneut Beschwerde in Strafsachen beim Bundesgericht. Er beantragt, den Zirkulationsbeschluss des Kassationsgerichts des Kantons Zürich vom 5. August 2008, den Beschluss des Obergerichts des Kantons Zürich vom 17. September 2010 und den Zirkulationsbeschluss des Kassationsgerichts des Kantons Zürich vom 11. November 2011 aufzuheben. Der Kanton Zürich habe ihm eine Genugtuung von Fr. 60'000.--, zuzüglich Zins von 5 % seit dem 1. März 2000, und eine Entschädigung nach richterlichem Ermessen, mindestens aber 1,5 Mio. Franken, zu entrichten. Die Sache sei zur definitiven Festsetzung von Genugtuung und Schadenersatz an das Obergericht des Kantons Zürich zurückzuweisen. Sämtliche vorinstanzlichen Kosten seien dem Staat aufzuerlegen, und er sei für die Bemühungen seiner Rechtsvertreter vollumfänglich zu entschädigen.
Erwägungen:
1. Der Beschwerdeführer bringt in seiner Beschwerdeschrift vom 15. Dezember 2011 die in seiner Eingabe vom 25. Oktober 2010 an das Bundesgericht enthaltenen Rügen erneut vor. Auf die Beschwerde vom 25. Oktober 2010 ist daher nicht separat einzugehen.
2. 2.1 Der Beschwerdeführer macht geltend, das Kassationsgericht missachte in seinem Urteil vom 5. August 2008 den Begriff der Teilkausalität zwischen dem gegen ihn geführten Strafverfahren und seiner verhinderten Weiterbeschäftigung an der ETH Zürich (Beschwerde, S. 9 ff.).
Er rügt weiter eine willkürliche Beweiswürdigung und Sachverhaltsfeststellung des Kassationsgerichts. Dieses habe ausgeblendet, dass er aufgrund des Strafverfahrens längst zur "persona non grata" geworden sei. Im Bericht über das gegen ihn geführte Disziplinarverfahren sei er massiv angegriffen und vorverurteilt worden. Es sei lebensfremd, wenn das Kassationsgericht davon ausgehe, das Strafverfahren habe keine Ursache für das Auslaufen jeglicher beruflichen Tätigkeit an der ETH Zürich oder an vergleichbaren Instituten der ETH Lausanne, am Paul Scherrer Institut oder im Supercomputer Zentrum in Manno TI gespielt (Beschwerde, S. 12 ff.).
Das Kassationsgericht habe zudem den Sachverhalt nicht genügend abgeklärt. Es habe sich einzig auf die Frage fokussiert, ob er ohne das Strafverfahren zum ordentlichen ETH-Professor gewählt worden wäre. Es gehe jedoch darum, ob das Strafverfahren ursächlich gewesen sei, dass er keinerlei wissenschaftliche Tätigkeit an der ETH Zürich mehr habe ausüben können. Da der ETH in ihrem Forschungsbereich faktisch eine Monopolstellung zukomme, habe er auch nicht an einem vergleichbaren anderen Institut eine entsprechende Stelle ausüben können (Beschwerde, S. 16-36).
2.2 Das Kassationsgericht des Kantons Zürich erwägt in seinem Entscheid vom 5. August 2008, dass der sogenannte prima-facie-Beweis eines ursächlichen Zusammenhangs zwischen dem Strafverfahren und der Nichtberücksichtigung des Beschwerdeführers an der ETH Zürich widerlegt sei. Es bestünden ernsthafte Zweifel an einem Zusammenhang. Es komme nach Ablauf einer Assistenzprofessur praxisgemäss nur vereinzelt zu einer Weiterbeschäftigung an der ETH Zürich, was daher nicht die Regel, sondern eine Ausnahme darstelle. Zudem hätten für die damals geplante neue Professur im Rahmen eines internationalen Auswahlverfahrens neben der Bewerbung des Beschwerdeführers 20 weitere Bewerbungen und eine hervorragende Kandidatur eines Professors einer amerikanischen Spitzenuniversität vorgelegen (Kassationsgericht, S. 8 ff.).
2.3 Das Bundesgericht legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat. Dem Sachgericht steht im Bereich der Beweiswürdigung ein erheblicher Ermessensspielraum zu (Urteil 6B_220/2011 vom 24. Februar 2012 E. 1.3; 120 Ia 31 E. 4d). Die Sachverhaltsfeststellung kann nur gerügt werden, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von Art. 95 BGG beruht und wenn die Behebung des Mangels für den Ausgang des Verfahrens entscheidend sein kann (Art. 97 Abs. 1 BGG). Offensichtlich unrichtig im Sinne von Art. 97 Abs. 1 BGG ist die Sachverhaltsfeststellung, wenn sie willkürlich ist (BGE 136 II 304 E. 2.4 mit Hinweis; vgl. zum Begriff der Willkür BGE 137 I 1 E. 2.4 mit Hinweisen). Auf ungenügend begründete Rügen und bloss allgemein gehaltene appellatorische Kritik am angefochtenen Entscheid tritt das Bundesgericht nicht ein (BGE 134 II 244 E. 2.2 mit Hinweis).
Der Beschwerdeführer zeigt nicht auf, und es ist auch nicht ersichtlich, inwiefern das Kassationsgericht sein Ermessen missbraucht hätte, indem es den Kausalzusammenhang zwischen dem Strafverfahren und der unterbliebenen Weiterbeschäftigung an der ETH Zürich verneint hat. Die Ausführungen des Beschwerdeführers sind grösstenteils appellatorisch. Er legt nicht dar, dass er sich - wie er behauptet - neben seiner Bewerbung als ordentlicher Professor im Departement für Informatik konkret um eine andere Stelle an der ETH Zürich und Lausanne bzw. den weiteren Forschungsanstalten des Bundes bemüht hätte. Er betont lediglich, die ETH-Präsidenten A._ und B._ hätten ihm wiederholt erklärt, sich einer Wiedereinstellung zu widersetzen (Beschwerde, S. 7). Das Kassationsgericht verfällt nicht in Willkür, wenn es lediglich den Kausalzusammenhang zwischen dem Strafverfahren und der Nichtanstellung als ordentlicher Professor der ETH Zürich näher geprüft hat.
3. 3.1 Der Beschwerdeführer wendet sich auch gegen die Urteile des Obergerichts des Kantons Zürich vom 17. September 2010 und des Kassationsgerichts des Kantons Zürich vom 11. November 2011. Die beiden Instanzen hätten nicht geprüft, ob und allenfalls welche Auswirkungen die Verletzung des Beschleunigungsgebots auf eine Ernennung zum Beamten auf Lebenszeit an der Technischen Universität Dresden gehabt habe. Er führt in der Folge verschiedene Verzögerungen an, die zu einer Verletzung des Beschleunigungsgebots geführt hätten. Der Beschwerdeführer folgert daraus, dass im Falle einer korrekten Durchführung des Strafverfahrens keine Probleme für seine Ernennung in Dresden als Professor auf Lebenszeit bestanden hätten, da das Strafverfahren schon abgeschlossen gewesen wäre. Die Nichtberufung sei auf das hängige Strafverfahren zurückzuführen, welches die Technische Universität Dresden aufgeschreckt und zum Rückzug ihrer Berufung veranlasst habe (Beschwerde, S. 37 ff. und S. 44-65).
3.2 Sowohl das Obergericht als auch das Kassationsgericht begründen ausführlich, welche Faktoren zur Nichtberücksichtigung des Beschwerdeführers als Professor an der Technischen Universität Dresden geführt haben. Sie kommen beide zum Schluss, dass zu hohe Gehaltsforderungen und die Stellenabsage des Beschwerdeführers per E-Mail vom 17. April 2003 zum Rückzug des Rufes nach Dresden geführt hätten (Urteil Obergericht, S. 11 f.; Urteil Kassationsgericht, S. 8 f.). Der Beschwerdeführer habe in dieser Mitteilung in aller Ausführlichkeit das vorgeschlagene Gehalt abgelehnt. Zudem habe er wörtlich angeführt: "Ich glaube aber kaum, dass ich je eine positive Einstellung zu meiner neuen Stelle und vor allem zu meinem neuen Dienstherren entwickeln kann". Er habe zwar mit Schreiben vom 28. April 2003 nachträglich dennoch die Annahme der Stelle erklärt, allerdings nicht vorbehaltlos. Das sächsische Staatsministerium habe in der Folge festgestellt, dass es aus diesen Gründen zu keiner Einigung mit dem Beschwerdeführer gekommen sei (Urteil Obergericht, S. 10 f.; Urteil Kassationsgericht, S. 8 f.). Hinweise, dass das Strafverfahren Grund für die Absage gebildet habe, könnten den Akten nicht entnommen werden (Urteil Obergericht, S. 12).
3.3 Der Beschwerdeführer vermag nicht aufzuzeigen, inwiefern das Kassationsgericht und das Obergericht in Willkür verfallen sind, als sie davon ausgingen, dass die Anstellung als Professor an der Technischen Universität Dresden nicht wegen des laufenden Strafverfahrens in der Schweiz scheiterte. Nachdem ihn der Universitäts-Senat am 12. Juni 2002 zur Berufung für die Professorenstelle vorgeschlagen hatte (act. 1 vorinstanzl. Akten Dresden), erhielt der Beschwerdeführer am 12. August 2002 den Ruf an die Technische Universität Dresden (act. 33 vorinstanzl. Akten Dresden). Der Beschwerdeführer gab in der Folge seine Vorstellungen zur Weiterführung der Forschung bekannt (act. 41 vorinstanzl. Akten Dresden). In den folgenden Monaten drehten sich die Verhandlungen praktisch ausschliesslich und in grosser Intensität um die Gehaltsvorstellungen des Beschwerdeführers (act. 43-119 vorinstanzl. Akten Dresden).
Entscheidende Ursache der Nichtberufung bildete die E-Mail des Beschwerdeführers an den Rektor der Technischen Universität Dresden vom 17. April 2003, in welcher er seinen Unmut über die Lohnverhandlungen und die Folgen für seine Motivation und Leistungsbereitschaft ausdrückte (act. 141 vorinstanzl. Akten Dresden). Die spätere Zusage vom 28. April 2003 (act. 118 vorinstanzl. Akten Dresden) konnte nicht verhindern, dass der Fakultätsrat am 12. Mai 2003 nachträglich eine kritische Stellungnahme zur Berufung abgab (act. 140 vorinstanzl. Akten Dresden), die schliesslich am 3. Juni 2003 zur definitiven Absage durch den zuständigen Minister führte (act. 148 vorinstanzl. Akten Dresden).
Diese Zusammenhänge waren auch dem Beschwerdeführer bewusst, wie sein Schreiben vom 30. Juni 2003 an den Rektor der Technischen Universität Dresden (act. 154 vorinstanzl. Akten Dresden) zeigt, in dem er sich für seine kompromittierende E-Mail vom 17. April 2003 entschuldigte. Das damals noch laufende Strafverfahren war so nicht die Ursache, sondern der Anlass dafür, dass sich die Anstellung des Beschwerdeführers verzögerte und schliesslich scheiterte. Bestätigt wird dies durch den Aktenvermerk des zuständigen Ministeriums vom 20. Mai 2003, wonach das gegen den Beschwerdeführer laufende Strafverfahren kein Grund sei, diesen nicht anzustellen (act. 142 vorinstanzl. Akten Dresden).
Es bestand vor diesem Hintergrund kein Anlass für das Obergericht und das Kassationsgericht, allfällige zusätzliche Auswirkungen des damals noch laufenden Strafverfahrens auf die Ernennungschancen des Beschwerdeführers als Professor an die Technische Universität Dresden zu untersuchen.
4. Der Beschwerdeführer rügt, das Obergericht und das Kassationsgericht hätten mit ihren Urteilen vom 17. September 2010 und 11. November 2011 gegen das Fairnessgebot (Art. 29 Abs. 1 und 2 BV und Art. 6 Ziff. 1 EMRK) verstossen. Es liege auf der Hand, dass die Exponenten der ETH, die den Einfluss des Strafverfahrens auf seine Nichternennung als ETH-Professor klären sollten, lediglich ihr Gesicht hätten wahren wollen. Dasselbe gelte für die Verantwortlichen in Dresden, die nicht aus einer neutralen und unbefangenen Position heraus hätten Stellung beziehen können (Beschwerde, S. 42 f.).
Das Vorbringen des Beschwerdeführers geht fehl. Zur Begründung kann auf die Erwägungen 2 und 3 verwiesen werden.
5. Die Beschwerde ist abzuweisen, soweit darauf einzutreten ist. Bei diesem Verfahrensausgang ist auf die Vorbringen des Beschwerdeführers betreffend Neufestsetzung der Genugtuung und des Schadenersatzes (Beschwerde, S. 65 ff.) nicht weiter einzugehen. Die bundesgerichtlichen Kosten sind dem Beschwerdeführer aufzuerlegen (Art. 66 Abs. 1 BGG).
Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird abgewiesen, soweit darauf einzutreten ist.
2. Die Gerichtskosten von Fr. 4'000.-- werden dem Beschwerdeführer auferlegt.
3. Dieses Urteil wird den Parteien, dem Kassationsgericht des Kantons Zürich und dem Obergericht des Kantons Zürich, II. Strafkammer, schriftlich mitgeteilt.
Lausanne, 3. Mai 2012
Im Namen der Strafrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Mathys
Der Gerichtsschreiber: Keller