Telekom: Die unendliche (Störungs-) Geschichte (Update)

Die Störung
Gestern um 16 Uhr war es wieder an der Zeit. Der Speedport W722V meldete

12.04.11 08:09:03 PPPoE-Fehler: Zeitüberschreitung. (R020)
12.04.11 08:08:50 Internetverbindung wurde getrennt. (R009)

1. Anruf bei der Telekom
Da bisher 2 Router beziehungsweise deren eingebaute Modems an unserem Anschluss kaputt gegangen sind habe ich sofort bei der Telekom ein Tauschgerät angefordert. Leider konnte von Seiten der Telekom gestern keine Messung unserer Leitung durchgeführt werden, da an unserem Anschluss kein VDSL gelistet war.

Die “Wunderheilung”
Allerdings passiert heute Morgen um 8:55 etwas wunderliches:

12.04.11 08:55:58 Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: [...] (R010)
12.04.11 08:55:47 DSL ist verfügbar (DSL-Synchronisierung besteht mit 51376/10048 kbit/s). (R007)
12.04.11 08:55:31 DSL-Synchronisierung beginnt (Training). (R008)
12.04.11 08:53:45 DSL antwortet nicht (Keine DSL-Synchronisierung). (R006)
12.04.11 08:53:42 Internetverbindung wurde getrennt. (R009)

Auf Deutsch: Der Router hatte sich wieder eingewählt. Dies weckte dann mein Interesse, hatte ich doch mit einem Hardware Defekt in unserem Router gerechnet und sich dieser normalerweise nicht durch Abwarten lösen lässt.

2. Anruf bei der Telekom
Ein erneuter Anruf bei der Telekom brachte neue Erkenntnisse: Die Störung war auch bei der Telekom verzeichnet: Im besagten Zeitraum war die Leitung tatsächlich gestört.
Zusätzlich gab es noch eine Ankündigung eines Rückrufs der Technikabteilung – die hoffentlich mehr Einblicke in die Leitung hat. Es war sogar von einem potentiellen Tausch der Baugruppe im Verteiler die Rede. Vielleicht bringt das ja Besserung?

Bisherige Störungs-Geschichte
Alle Artikel zur Telekom

Leider hat sich meine Vorhersage aus dem letzten Störungs-Post nicht bewahrheitet. Sie lautete bisher: Störung zu Weihnachten. Offensichtlich wurde der Termin vorverlegt. Auf jeden Fall bleibt die Geschichte spannend!

Update: Rückruf der Telekom
Anscheinend gab es eine größere Störung seitens der Telekom. Dann kann ich den Tausch-Router – sobald er ankommt – OVP zurückschicken.

Mail von der Uni: Der Prüfungsplan für Frühjahr 2001 ist online !

Nachdem der Prüfungsplan dieses Mal noch länger nicht verfügbar war, gab es eine (tolle) Benachrichtigungs-Mail.

Der Inhalt war dem Titel entsprechend und eher redundant. Zur Erheiterung können noch die mehrfachen rechtlichen Hinweise dienen.

Am Anfang

Diese Email geht Ihnen als studierendem Mitglied der Universität
Stuttgart im Rahmen der Erfüllung universitärer Aufgaben (§ 2 LHG)
zu. In diesem Rahmen ist auch die Übermittlung von Inhalten
Dritter zulässig.
****************************************************************

Am Ende

******************************************************************
Diese Email ist keine unaufgeforderte Werbe-Mail (SPAM) eines
Dritten, zu dem Sie keine Rechtsbeziehung unterhalten. Der Mail-
versand setzt Ihr Mitgliedsverhältnis zur Universität Stuttgart
voraus und stellt eine zulässige Dienstenutzung i. S. der Verwal-
tungs- und Benutzungsordnung für digitale Informationsverarbei-
tung und Kommunikation (VBO-IuK) an der Universität Stuttgart dar.

Na dann: vielen Dank für die Information!

4294967294 Nachrichten heruntergeladen

Oh, da muss der Thunderbird sich wohl verrechnet haben.

WordPress Update 3.0.4 – Ohne Probleme

Das Update von WordPress auf 3.0.4 ist bei mir ohne Probleme verlaufen. Es funktionieren weiterhin alle Plugins – auch mein eigenes.
Das nachfolgende Update aller Plugins hat dann auch geklappt. So sollte das immer sein!

Das neue Admin-Interface ist allerdings sehr grau für meinen Geschmack:

Die blauen Tabs sind vom Firefox:

Grau-blau:

Grau.

‘Aktualisieren’ ist zum Glück noch blau.

Unten auch Grau.

Alles in allem ein gelungenes graues Update.

Telekom: (jährliche) Störung des VDSL

Das Problem
Fast genau ein Jahr ist der letzte 10-tägige VDSL-Ausfall nun her. Am Montag (29.11.10) ging dieses mal nichts mehr. Der Router (Speedport W 722 V) wurde nicht mehr synchron. Woran es genau lag, konnte der Telekomtechniker wieder nur raten. Das obligatorische kalt-Neustarten des Routers brachte natürlich nichts.

Die Problemlösung
Meine 1. Vermutung erwies sich nun korrekt: Der Fehler liegt im Router. Ich habe deshalb gleich am Montag die Zusendung eines neuen Routers gefordert. Am Dienstag wurde der Router dann auch zur Versendung vorgesehen und kam heute Abend (Freitag) an.

Die Übergangslösung
Zwischenzeitlich haben wir uns wieder mit ISDN und einer WLAN-Brücke zu unserem Nachbarn beholfen. Die WLAN-Brücke erwies sich allerdings als recht anfällig, da das dafür verwendete Windows-XP des Öfteren in Zustände größter Verwirrung geriet (IP-Adressenkonflikt bei komplett statisch konfigurierten IP-Adressen). Dies hatte wiederholtes Neustarten und Fluchen zur Folge.

Die Resultate
Mit dem neuen Router funktionierte die Einwahl sofort problemlos.
Aus unserem VDSL-25 (25 MBit down / 5 MBit up) wurde ein VDSL-50 (50 MBit down / 10 MBit up), wobei sich noch herausstellen muss, wie viel der 50 MBit tatsächlich durch den Router passen. Anscheinend geschieht diese Umstellung (die ich nicht beauftragt habe) ohne Mehrkosten. (Das glaube ich erst, wenn ich die übernächste Rechnung in Händen halte!)

Danksagung
Dank geht an unseren freundlichen Nachbarn, dessen WLAN wir diese Woche mitbenützen durften.
Dank geht auch an den bemühten Telekomtechniker, der tatsächlich zurückgerufen hat, und dem die ganzen Probleme recht Leid taten. Natürlich kann er persönlich nichts dafür. Ich habe mich trotzdem wieder ordentlich über die Telekom aufgeregt.

Offene Fragen

  • Wann kommt die nächste Störung?
  • Welche Bereitstellungs- / Bearbeitungs- und sonstige Gebühren erwarten uns auf der nächsten Telekom Rechnung?
  • Resultierte das Problem aus einem Hardwaredefekt im Router oder daraus, dass auf Telekom-Seite die Verbindungsparameter umgestellt wurden?

Weitere Artikel aus der
Fortsetzungsgeschichte “Spaß mit der Telekom”

Die Wahrscheinlichkeit weiterer Episonden ist recht hoch. Die nächste Folge der Reihe ist statisch gesehen nächstes Jahr zur Weihnachtszeit zu erwarten – Man darf also gespannt bleiben!

c# – WorkingSetControl / RamControl: Displaying the Working Set size / current RAM usage of an application

English
Did you ever want to display the Working Set size / current RAM usage of your c# application? If the answer to this question is ‘yes’, here is your solution. If the answer is ‘no’ you still might find some usable code snippets in the control.

Deutsch
Es ist relativ einfach die aktuelle Speicherbelegung in einem c# Programm herauszufinden. Ich habe dies Funktionalität in ein kleinen Control verpackt.

Screenshot des Controls:
WorkingSetControl

View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;
using System.Drawing;
 
namespace MyProject
{
    /// <summary>
    /// Control to display the  current WorkingSet size. Aka "RamControl". Just call Start to start the monitoring.
    /// </summary>
    class WorkingSetControl : Control
    {
        Thread t1;
        bool active = false;
 
        public WorkingSetControl()
        {
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
        }
 
        /// <summary>
        /// Start displaying the current WorkingSet size. If you don't call Start you won't see a thing!
        /// </summary>
        internal void Start()
        {
            // start only if not started yet
            if (t1 == null)
            {
                // although we could use a lambda expression to create this thread don't use one to be .NET 2.0 compatible.
                t1 = new Thread(run);
 
                // if you *HAVE* to use a lambda expression, fine have fun with your cryptic code:
                /*
                t1 = new Thread(() =>
                {
                    while (active)
                    {
                        Invalidate();
                        Thread.Sleep(100);
                    }
                });
                */
 
                // set active to true, so our run method does actually run in loops 'n loops 'n loops until active is set to false ==> see Dispose.
                active = true;
                t1.Start();
            }
        }
 
        void run()
        {
            while (active)
            {
                Invalidate();
                Thread.Sleep(100);
            }
        }
 
        /// <summary>
        /// Get and draw the WorkingSet size
        /// </summary>
        /// <param name="e"></param>
        protected override void OnPaint(PaintEventArgs e)
        {
            string ram = "xxx";
 
            // Only get the WorkingSet size if the control is in active mode.
            // This prevents the control displaying the WorkingSet size of Visual Studio in the designer (which works actually, but is somehow confusing).
            if (active)
            {
                long lngSessMemory = Process.GetCurrentProcess().WorkingSet64;
                ram = (Convert.ToDouble(lngSessMemory) / 1000 / 1000).ToString("0.00");
            }
 
            // do the grphics stuff
            e.Graphics.Clear(BackColor);
            e.Graphics.DrawString("WorkingSet: " + ram + " MB", Font, new SolidBrush(ForeColor), 0, 0);
        }
 
        /// <summary>
        /// Lets make sure our thread terminates at some point in time.
        /// </summary>
        /// <param name="disposing"></param>
        protected override void Dispose(bool disposing)
        {
            // I know we should wait for the thread to actually funish by using t1.Join() but that would slow down this methob by up to 100ms.
            // If you have any Problems with controls not disposing properly, let me know and send me a solution ;)
            active = false;
            base.Dispose(disposing);
        }
    }
}

It’s not particularly silly, is it?

“I’m sorry to have kept you waiting, but I’m afraid my walk has become rather sillier recently…”

VLC zeigt Streams der Sendeliste von T-Home nicht an

Bislang habe ich VLC und die Sendeliste der Streams von T-Home, die man mit VLC am PC schauen kann auf unterschiedlichen PCs ausprobiert. Nun gab es allerdings auf einem neuen Windows 7 Laptop ein Problem:

Der Stream wurde zwar nachweislich an den Laptop gesendet, VLC stellte allerdings nichts dar und zeigte auch keine Fehlermeldung an.

Des Rätsels Lösung war die Windows Firewall: VLC hatte zwar Regeln zum Empfangen erstellt, allerdings waren die Regeln nicht aktiv. Nachdem ich die Regeln aktiviert hatte, konnte endlich auch an diesem PC der volle HD-Genuss ausgekostet werden.

Letzte Prüfung am letzten Semesterferientag: Entwurf digitaler Schaltungen (EdS)

Nach recht unerholsamen, gut mit Prüfungen bestückten Semesterferien naht nun das Ende dieser (Semesterferien und Prüfungen).

Die letzte Prüfung wird am letzten Tag der Semesterferien geschrieben. Unser Dozent Herr Meyer (mit EY) kündigte bereits an, uns nach der Prüfung schöne “Rest-Ferien” wünschen zu wollen. Da kann ich nur sagen: Ich freue mich auf die Vorlesungen – endlich keine Nerven aufreibende Prüfungsvorbereitungen mehr.

Dotfuscator CE + Explizite Schnittstellen- implementierung (Interface) = TypeLoadException: Die Methode GetEnumerator hat keine Implementierung

Ich verwende Dotfuscator CE (Community Edition) um meine .Net Anwendungen zu schützen.

Kürzlich ist dabei ein Fehler aufgetreten:

TypeLoadException: Die Methode GetEnumerator hat keine Implementierung

Das Problem bestand aber nur nachdem die Anwendung vom Dotfuscator bearbeitet wurde. Vorher funktionierte alles noch prima.

Aufgetreten war das Ganze, weil ich in einer Klasse zwei verschiedene IEnumerable<T> implementiert hatte.
Beispiel:

View Code CSHARP
1
2
3
class MyClass : IEnumerable<ClassA>, IEnumerable<ClassB> {
...
}

In diesem Fall ist eine sogenannte Explizite Schnittstellenimplementierung notwendig. Dies hat der Dotfuscator offensichtlich nicht verstanden. Nachdem ich die Implementierung der Schnittstelle in eine extra Methode ausgelagert hatte und die Explizite Schnittstellenimplementierung entfernt hatte funktionierte alles wieder gut.

WordPress Themes