Mehrere Office Versionen parallel zu installieren ist grundsätzlich kein Problem. Sagt man. Es gibt allerdings einige Punkte, die man beachten sollte. Ich möchte kurz einige vorstellen, die mir in den letzten Tagen aufgefallen sind.
1. die richtige Reihenfolge: Bei der Installation von mehreren Office Paketen beginnt man mit der Installation der ältesten Version. Ist die neueste Version Office 2007/2010 dann muss dort natürlich „Alle früheren Versionen beibehalten“ / „Keep all previous version“ ausgewählt sein.
2. Programmstart: Nach jeder Installation eines Office Pakets würde ich auch jede Komponente (Word, PowerPoint, Excel, usw.) einmal starten, damit sich alle Programme vor der Installation des nächsten Pakets konfigurieren und einrichten können.
3. richtiger Ordner: Ich empfehle es, alle Office Versionen in einen eigenen, seperaten Ordner zu installieren um Konflikte zu vermeiden.
4. Word Konfiguration deaktivieren: Wenn verschiedene Versionen von Word installiert sind kann es beim Start von Word passieren, dass jedes mal erst eine Konfiguration erfolgt. Das passiert dann beim abwechselnden Benutzen der Versionen, also 2003 und 2010 immer abwechselnd z.B. Öffnet regedit und sucht folgenden Schlüssel:
Grundsätzlich bin ich kein Fan von der „Neuer-Tab“ Seite (new tab page). Zu viel Spielerei. Wenn ich einen neuen Tab öffne, dann, weil ich eine neue Seite aufrufen möchte. Dann weiß ich allerdings schon, welche Seite ich aufrufen möchte und schau mir nicht erst meine zuletzt besuchten oder am meisten besuchten Seiten an. Für kürzlich geschlossene Tabs habe ich eine Erweiterung. Trotzdem möchte ich euch diese spezielle new tab page von Chrome nicht vorenthalten.
Im Gegensatz zum Standard gibt es auf dieser experimentellen Seite einen Footer. Dort ist bereits ein Tab Feature realisiert, mit dem man zwischen verschidenen Tabs der new tab page wechseln kann. Tabs in Tabs, sinnvoll? Rechts im Footer gibt es das „Kürzlich geschlossen“ Menü, mit dem ihr geschlossene Seiten neu öffnen könnt.
Das Design finde ich auf jeden Fall besser, moderner als das aktuelle. Aber Sinn macht die Seite für mich immernoch nicht (selbst wenn es einen Inhalt geben würde). Für mich sind neue Tabs immernoch nur ein Weg zu einer neuen Internetseite und weniger als Informationspool und News-Mashup.
Um dieses Feature zu aktivieren macht ihr folgendes: Gebt
about:flags
in die Adresszeile des Chrome ein. Eine Seite mit verschiedenen experimentellen Pre-Pre-Alpha Features wird angezeigt. 😉 Aktiviert die „Experimental new tab page“ Option und startet den Browser neu. Das wars.
Cheffe letztens zu mir: „Ich brauche mal eine Übersicht aller unserer Gruppen jeweils mit allen Mitgliedern.“ Bei fast 300 Rechtegruppen macht man sowas lieber nicht per Hand. CSVDE, dachte ich also. Das Tool ist aber unhandlicher als nasse Seife im Knast also habe ich nach einigen wenigen Versuchen nach Alternativen gesucht. Und siehe da, in Zeiten von Google, wer sucht der findet:
José AD-Dokumentation 3.0 ermöglicht scriptgesteuert oder mit einer einfachen und übersichtlichen GUI das Erstellen von brauchbaren HTML Reports einer Windows Domäne. Die Struktur der Domäne wird genauso erfasst wie die Objekte mit ihren Eigenschaften. Mit simplen Klicks und einigen wenigen Eingaben wie eine spezielle Unter-OU, Dateiname und Titel ist ein HTML Report fertig.
Wie gesagt lässt sich das Tool auch super scriptgesteuert bedienen, regelmäßige Reports oder vordefinierte Reporteinstellungen sind also kein Problem. An sich ist José AD-Dokumentation auch „nur“ ein 2500 Zeilen langes .vbs Script mit einer draufgesetzten grafischen Oberfläche. Diese auszuführende Datei JoseExec.vbs lässt sich also auch mit etlichen Parametern statt der GUI steuern. Alle Möglichkeiten und Referenzen sind in einer Dokumentation festgehalten, die beim Download mit dabei ist. Beispiel:
cscript JoseExec.vbs /d:"!Domaenen-Info.txt" /r:"ADInfo.htm" /t:"Report - AD Übersicht" /f:"OU=usrHUEinrIQB,OU=usrHUEinr,DC=user,DC=hu-berlin,DC=de"
In der ebenfalls mitglieferten „Standard-Reports.bat“ befinden sich einige Beispielaufrufe, die sich ebenfalls verwenden lassen.
Alle erstellten Reports lassen sich mit CSS beliebig gestalten (praktisch Zen Garden für Windows Nerds :D), vordefinierte CSS Dateien befinden sich ebenfalls im Download.
Leider lassen sich nicht alle Eigenschaften raussuchen (zumindest nicht via GUI). Zum Beispiel ist das „Anmerkungen“ Feld im Karteireiter „Rufnummern“ von Usern unerreichbar. Leider nutzen wir dieses Feld für einige special Features, da muss ich mir also andere Methoden suchen. Auch das Setzen von Werten wäre cool gewesen, aber es heißt ja nicht umsonst „Dokumentation“.
Fazit: Ein TOP Tool für Dokumentationen und Übersichten im AD.
Das ist jetzt ein etwas speziellerer Artikel, der weniger Interessant für meine Stammleser wird (da die erwähnte Software nicht im Consumer Bereich verteilt wird). Es geht um die Virenschutzlösung für Unternehmen von McAfee: McAfee VirusScan Enterprise.
Eines, was ich in meinen ersten Wochen als IT-Administrator an meinem Arbeitsplatz erfahren habe(/musste), ist: McAfee VirusScan Enterprise 8.7 verlangsamt den PC, auf dem es installiert und aktiviert ist, enorm! Ein frischer Desktop PC mit Core 2 Duo 2x3GHz und 2GB RAM fühlt sich plötzlich so an wie ein Single Core Pentium 4 1,3GHz mit 256 MB RAM…
Leider sind wir aus verschiedenen Gründen an diesen Hersteller gebunden, es blieb also fast 3 Jahre lang kaum eine Alternative, als dieses Disaster zu ertragen. Doch nun!! Ein Update!! McAfee 8.8!! Angebliche Performancesteigerungen!!
Ich habe mir das mal angesehen und einige Tests gemacht.
System: Dell Optiplex 780, 2x3GHz, 2GB RAM Test: Software starten ohne McAfee, mit McAfee 8.7i und mit McAfee 8.8 Ablauf: Pro Softwarestadium (3 gesamt) gibt es jeweils 2 Phasen. Pro Phase werden 6 Programme ausgeführt. Jeder Programmstart wird gemessen (Stoppuhr) und danach geschlossen. Zwischen den Phasen erfolgt ein Neustart. Also: System ohne McAfee, Phase 1: Programme starten und messen. Neustart. Phase 2: Programme starten und messen. Neustart. Installation von McAfee 8.7i, Phase 1: Programme starten und messen. Neustart. usw usf… Die Werte der ersten Phase aller 3 Stadien werden verglichen, die Werte des System ohne McAfee werden als Vergleichswerte genommen. Anmerkung: Ich weiß, der Test ist oberflächlich, die Werte von Hand gemessen, die Anzahl der Tests zu gering, die Variation zu gering, usw. Aber ich hab das auf Arbeit getestet, da habe ich für solche Spielchen keine Zeit. Demzufolge war das ein kleiner, oberflächlicher aber ausreichend aussagekräftiger Test.
Hier die Ergebnisse:
Software
ohne McAfee
McAfee 8.7i
McAfee 8.8
Phase
1
<– %
2
1
<– %
2
1
<– %
2
SPSS 17.0.3
14s
100%
9s
72s
514%
37s
15s
107%
9s
Ereignisanzeige
1s
100%
1s
7s
700%
5s
4s
400%
1s
Ereignisanzeige -> Anwendungen
2s
100%
1s
36s
1800%
38s
17s
850%
2s
Word
2s
100%
2s
8s
400%
3s
3s
150%
2s
Excel
2s
100%
2s
5s
400%
3s
3s
150%
2s
Firefox
4s
100%
2s
10s
250%
6s
6s
150%
3s
Okay ehrlich gesagt, das sieht ziemlich kacke aus. Hier sind die Ergebnisse etwas übersichtlicher: direct image link
Erstaunlich ist 1. die Verbesserung bereits in der 1. Phase aber vor allem der enorme Sprung von der 1. zur 2. Phase. Sicherlich, Windows optimitert Programmstarts z.B. mit Prefetch Dateien, sodass der 2. Programmstart meist schneller abläuft als der erste. Aber diese Unterschiede kann ich mir nur in einem neuen Scanverhalten von McAfee erklären. Vermutlich werden gescannte kritische Dateien (.exe, .dll, .sys usw) in einer Datenbank gespeichert und nur erneut gescannt, wenn sich die Dateigröße oder halt die Datei an sich verändert hat. Da dies bei 90-95% der Programmdateien eines Programm nicht der Fall ist werden alle Dateien nur beim ersten Start komplett gescannt und beim zweiten Start fast komplett übersprungen. Ist natürlich nur eine Vermutung. Was denkt ihr?
Ich möchte hiermit also grob bestätigen: McAfee 8.8 bringt große Performanceverbesserungen mit sich und sollte daher so schnell wie möglich verteilt werden.
Verwendet hier noch jemand McAfee Enterprise oder McAfee an sich?
Edit: Noch während ich 1, 2 Links zu VirusScan 8.8 gesucht habe fiel mir ein McAfee Dokument in die Hände: „Release Notes for McAfee® VirusScan® Enterprise 8.8“ Link Und, hell yeah, dort steht es:
Performance improvements This release reduces: ● On-access scan time ● On-demand scan time ● System startup time Caches previously scanned files in a common location to reduce duplicate file scanning and improve performance.
Ich bestätige also mal meine eigene Vermutung. Das heißt wahrscheinlich: Je länger McAfee 8.8 in Betrieb ist, desto größer ist die Datenbank und desto weniger Dateien werden gescannt. Ergo, McAfee entfaltet 8.8 sein Potential erst so richtig nach ein paar Tagen Nutzung, wenn jedes Programm und jede Betriebssystemecke tatsächlich einmal gestartet wurde.
Bei der Eingabe der genauen Zeit kann man sogar ziemlich sprechend schreiben und mathematische Operationen durchführen. „now + 1 minute“ funktioniert also genauso wie „tomorrow + 24h“.
Wenn ihr oben rechts auf den Boomerang Link klickt werdet ihr auf eine Art Administrationsseite geschickt. Hier habt ihr einen Überblick über alle ausstehenden Boomerang Aktionen und Mails, die gerade verarbeitet werden. Zusätzlich könnt ihr Einstellungen bearbeiten. Die Art wie Mails durch Boomerang wieder in den Posteingang geholt werden („Return to inbox [if]“) kann hier angepasst werden. Die Optionen „Starred“ und „Labaled as Boomerang“ finde ich zum Beispiel nicht so sinnvoll.
Endlich habe ich da eine Lösung für 3 Funktionen, die ich schon lange bei GMail vermisse!
Boomerang ist eine Erweiterung für Chrome und Firefox und Google Mail User werden sie lieben! Leider gibt es 2 Voraussetzungen: Google Mail muss auf englisch eingestellt sein. Und man muss einmalig (bei der ersten Aktion mit Boomerang) den Zugriff des Dienstes auf das eigene GMail Konto zulassen. Dann kann es losgehen.
Was bietet Boomerang?
Ich zeige hier die 3 von mir heiß ersehnten Features. Boomerang kann sicher noch ein wenig mehr, schaut dazu auf die Homepage.
Emails später versenden
Das ist überhaupt die beste Funktion! Boomerang fügt in GMail einen „Send Later“ Button ein. Dieser ermöglicht das Absenden einer Mail zu einem fest definierten Zeitpunkt, X Stunden/Tage später oder zu einem zufälligen Zeitpunkt. Die Angabe eines ganz bestimmten Zeitpunktes sollte am interessantestens sein und ist einfach und verständlich gemacht. Die Handhabung der Funktion ist also ein Kinderspiel. Getestet, works!
Emails später nochmal empfangen
Wie oft habe ich mir überlegt wie ich Mails, die in meinem Posteingang immer weiter nach unten rutschen, wieder nach oben holen kann. Bei 20-40 Mails am Tag verschwindet eine bestimmte Mail in kürzester Zeit aus dem Blickfeld des Posteingangs. Man kann sie labeln, mit Sternchen markieren aber im Posteingang wieder nach oben holen, den aktuellen Zeitstempel aufdrücken, das geht nicht. „Return to inbox“ also, die Funktion ist jetzt gegeben und ist ein Traum. Wie bei „Send Later“ wählt man bei empfangenen Mails aus, wann diese Nachricht nochmal in den Posteingang flattern soll.
Emails nochmal empfangen wenn […]
Ist praktisch das Gleiche wie der vorherige Punkt, allerdings ist die Funktion beim Versenden möglich. Mails werden nochmal nach oben geholt wenn entweder keine Antwort auf diese Mail kommt oder selbst wenn eine eintrifft. Finde ich sehr praktisch wenn ich auf wichtige Mails innerhalb von 1, 2 Wochen eine Antwort erwarte und die dann aus dem Blickfeld verschwinden nach 2, 3 Tagen. So werde ich 100%ig erinnert nach einer oder zwei Wochen wenn keine Antwort kam.
Fazit: Also Leute, ein Traum. Das Plugin wird hoffentlich iirgendwann mal auch auf das deutsche Google Mail eingestellt, bis dahin ist das für mich ein verträgliches Opfer für diese wunderbaren Funktionen.
Ich kam letztens einfach nicht umher meinen alten C# Ordner zu durchstöbern. Ich hatte mich damals wenige Wochen mit C# beschäftigt. Also beschäftigt im Sinne von: Einsteigerkurse in der S-Bahn lesen, paar Tutorials im Netz und los gehts 😀 Ein Projekt hatte ich damals tatsächlich realisieren wollen. Ein kleines Programm, mit dem ich eine kleine Investition rechtfertigen und strategisch präsentieren konnte. Damals wollte ich mir nämlich einen Kaffeevollautomaten kaufen, der gerade im Angebot war. Solch ein Gerät ist ja nicht gerade günstig, also habe ich die Ersparnisse, die mit so einem Gerät möglich sind, versucht einfach zu verdeutlichen.
Und somit, let me proudly introduce to you:
Kaffe-Kalkulator
DIE Rechtfertigung, wenn es um den Kauf eines Kaffeevollautomaten geht!
Der Sinn dieser Software ist einfach: sie soll die Rechenarbeit bei der Frage „Lohnt sich der Kauf eines Kaffeevollautomaten?“ für euch erledigen. Das Programm fragt nach einigen Grundangaben aus denen dann ein kurzer Infotext gebastelt wird.
Simple thing, huh?! 🙂
Wie gesagt war das ein recht kurzer Abstecher in die C# Welt, der Code ist jetzt also nicht sonderlich cool. Ich habe mich gestern und heute kurz damit beschäftigt und den Code stark gereinigt und umgeschrieben, Funktionen geschrieben, Fehler abgefangen, Code gekürzt und sowas. Aber mittlerweile würde ich einige Schritte anders realisieren (Stichwort „.“ bei Kaffeebohnenpreis und MaskedTextBoxes) und würde auch einige andere Details ändern (z.B. variabler durchschnittlicher Verbrauch von Kaffeebohnen pro Tasse (ist ja je nach Tassengröße unterschiedlich)) aber wichtig ist das alles nicht. Dazu müsste das Programm grundlegend umgestaltet werden und so viel Langeweile habe ich ja nun auch wieder nicht. Es funktioniert grundlegend und erfüllt seine Aufgabe mit Stolz. 🙂
Code
Code anzeigenDen Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
public partial class Main : Form
{
// Variablen einzeln setzen, für Kommentare
const char nl = (char)10; // Zeilenumbruch als Konstante
double PrUn = 0; // Preisunterschied zwischen eigenem und alternativem Kaffee
double PrKa = 0; // Preis der eigenen Tasse
double PrAlKa = 0; // Preis des altern. Kaffees
double MaxKaBo = 0; // maximale Anzahl der Tassen pro voller Kaffeebohnenpackung
double DuVeKaBo = 20; // Durchschnittlicher Kaffeebohnenverbrauch pro Tasse
double KaAuBezWo = 0; // Anzahl an Wochen die man braucht um mit dem Preisunterschied den Kaffeevollautomaten zu bezahlen
bool empty = true; // Felder leer?
public Main() {
InitializeComponent();
}
void btnBerechne_Click(object sender, EventArgs e) {
try {
// Setze intern berechnete Variablen zurück
initReset(false, true);
// GET: Preis des alternativen Kaffees
PrAlKa = checkPrAlKa();
if (PrAlKa == 0 || checkEmpty() == true)
emptyErr();
else {
if (checkNegative() == true) showStats("negative");
else showStats("positive");
}
}
catch {
unknownErr();
}
}
void negativeErr() {
lblStatistik.Text = "Die berechnete Statistik zeigt, dass du mit deinen Angaben keinen Gewinn machen würdest. Der Kaffee deines Vollautomaten ist teurer als der Kaffee, den du dir im Laden kaufst.";
gbxStatistik.Visible = true;
}
void emptyErr() {
lblStatistik.Text = "Fehler bei der Eingabe. Es wurden nicht alle Felder ausgefüllt.";
gbxStatistik.Visible = true;
}
void unknownErr() {
lblStatistik.Text = "Ein unbekannter Fehler ist aufgetreten... sorry...\nPrüfe deine Eingaben, irgendetwas stimmt hier nicht ;)";
gbxStatistik.Visible = true;
}
double checkPrAlKa() {
switch (cbxPrAlKa.Text) {
case "": { return 0; break; }
case "0,50€ - Berlin Ost billig": { return 50; break; }
case "0,80€ - Berlin West billig": { return 80; break; }
case "1,00€ - Berlin Mitte billig": { return 100; break; }
case "1,30€ - Berlin Mitte normal": { return 130; break; }
case "2,00€ - Berlin Mitte teuer": { return 200; break; }
case "3,50€ - Berlin Fucking Luxus": { return 350; break; }
case "6,00€ - Scheiße wo trinkst du Kaffee?!": { return 600; break; }
default: { return 0; break; }
}
}
bool checkEmpty() {
// CHECK: leere Eingaben
if (tbxAnKaWo.Text == "" || tbxMeKaBo.Text == "" || tbxPrKaAu.Text == "" || tbxPrKaBo.Text == "")
return true;
else
return false;
}
bool checkNegative() {
// CALC: Preis der eigenen Tasse in Cent
PrKa = (((double.Parse(tbxPrKaBo.Text) * 100) / double.Parse(tbxMeKaBo.Text)) * DuVeKaBo);
// CALC: Preisunterschied zwischen eigenem und alternativem Kaffee
PrUn = PrAlKa - PrKa;
// CALC: maximale Anzahl der Tassen pro voller Kaffeebohnenpackung beim angegebenen Durchschnittsverbrauch pro Tasse
MaxKaBo = Math.Round((double.Parse(tbxMeKaBo.Text) / DuVeKaBo), 1);
// CALC: Anzahl an Wochen die man braucht um mit dem Preisunterschied den Kaffeevollautomaten zu bezahlen
KaAuBezWo = double.Parse(tbxPrKaAu.Text) / (PrUn * double.Parse(tbxAnKaWo.Text));
// PRINT: Preis der eigenen Tasse in €
tbxPrTaKa.Text = Math.Round((PrKa / 100), 2).ToString();
// PRINT: Preisunterschied zwischen eigenem und alternativem Kaffee in €
tbxPrUn.Text = Math.Round((PrUn / 100), 2).ToString();
if (PrUn < 0) return true;
else return false;
}
void showStats(string pon) {
if (pon == "positive") {
// PRINT: Statistiktext
lblStatistik.Text = tbxMeKaBo.Text
+ "g Kaffeebohnen kosten " + tbxPrKaBo.Text
+ " €. Für eine kleine Tasse werden " + DuVeKaBo
+ "g Kaffeebohnen verbraucht, mit den " + tbxMeKaBo.Text
+ "g Kaffeebohnen lassen sich also bis zu " + MaxKaBo
+ " Tassen machen." + nl
+ "Eine Tasse Kaffee zu Hause kostet nur " + tbxPrTaKa.Text
+ " € ! Günstig, oder?! Und dann noch lecker Kakao drin, hhmmmm lecker." + nl
+ "Wenn ein gekaufter Kaffee in der Stadt " + Math.Round((PrAlKa / 100), 2)
+ " € kostet, ist ein selbstgemachter Kaffee also " + Math.Round((PrUn / 100), 2)
+ " € günstiger!" + nl
+ "Bei " + tbxAnKaWo.Text
+ " Tassen Kaffee pro Woche sparst du also " +
// CALC: Ersparnis pro Woche: Anzahl der Tassen pro Woche * Preisunterschied in € gerundet auf 2 Stellen
Math.Round((double.Parse(tbxAnKaWo.Text) * Math.Round((PrUn / 100), 2)), 2)
+ " € pro Woche, " +
// CALC: Ersparnis pro Monat: Anz. d. Tassen pro Woche / 7 (Ersparnis pro Tag) * 30.416 (durchschnittliche Tagesanzahl pro Monat) gerundet auf 2 Stellen
Math.Round(((Math.Round((double.Parse(tbxAnKaWo.Text) * Math.Round((PrUn / 100), 2)), 2) / 7) * 30.416), 2)
// Math.Round((double.Parse(tbxAnKaWo.Text) * Math.Round((PrUn / 100), 2) * 30.416), 2)
+ " € pro Monat und ganze " +
// CALC: Ersparnis pro Jahr: Anz. d. Tassen pro Woche / 7 (Ersparnis pro Tag) * 365,25 (durchschnittliche Tagesanzahl pro Jahr) gerundet auf 2 Stellen
Math.Round(((Math.Round((double.Parse(tbxAnKaWo.Text) * Math.Round((PrUn / 100), 2)), 2) / 7) * 365.25), 2)
//Math.Round((double.Parse(tbxAnKaWo.Text) * Math.Round((PrUn / 100), 2) * 365.25), 2)
+ " € im Jahr!!" + nl
+ "Es erklärt sich also von selbst, dass der Kaffeevollautomat bei einem Preis von satten " + tbxPrKaAu.Text
+ ",00 € bereits nach " +
//CALC: Wochen die zum Abbezahlen nötig sind: (Preis der Automats / Ersparnis pro Tag) / 7
Math.Round(((double.Parse(tbxPrKaAu.Text) / Math.Round(((Math.Round((double.Parse(tbxAnKaWo.Text) * Math.Round((PrUn / 100), 2)), 2) / 7)), 2)) / 7), 1)
+ " Wochen abbezahlt ist!" + nl
+ "Danach sparst du bei jeder Tasse wirklich die " + Math.Round((PrUn / 100), 2)
+ " €.";
gbxStatistik.Visible = true;
}
else if (pon == "negative") {
negativeErr();
}
}
void resetToolStripMenuItem_Click(object sender, EventArgs e) {
initReset(true, true);
}
void btnReset_Click(object sender, EventArgs e) {
initReset(true, true);
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e) {
Form2 About = new Form2();
About.Show();
}
private void beendenToolStripMenuItem_Click(object sender, EventArgs e) {
Application.Exit();
}
void initReset (bool elems,bool vars) {
if (elems==true) resetElements();
if (vars==true) resetVars();
}
void resetElements() {
tbxMeKaBo.Text = tbxPrKaAu.Text = tbxPrKaAu.Text =
tbxPrKaBo.Text = tbxPrTaKa.Text = tbxPrUn.Text =
tbxAnKaWo.Text = "";
cbxPrAlKa.ResetText();
gbxStatistik.Visible = false;
tbxPrKaAu.Focus();
}
void resetVars() {
PrUn=PrKa=PrAlKa=MaxKaBo=KaAuBezWo=0;
DuVeKaBo = 20;
}
}
Ich denke nicht, dass es eine ausgebaute Version 2 des Programms geben wird aber trotzdem; Kritik, Verbesserungsvorschläge, Ausbauvorschläge, Spam und puren Stuss, einfach Kommentar schreiben.
PS:Was haltet ihr von meiner neuen „Code anzeigen“ Methode? Ich dachte mir so bleibt die Übersichtlichkeit meines Blogs unverändert und ich kann trotzdem lange Codeschnipsel präsentieren. Ob und wenn ja wie der Code dann allerdings im RSS Reader erscheint weiß ich noch nicht. Werden display:none divs im RSS beachtet? Naja mal sehen.