Wikipedia Löschantrag 1.000.000

1.000.000er Artikel in der deutschen Wikipedia: Ernie Wasson

Natürlich auch mit Löschantrag:

wiki-1moi-fail-small2

c# – eigenes Control, Keys.Up, Down, Left, Right: OnKeyDown / OnKeyPress vs. ProcessCmdKey

Wer ein eigenes Control (Steuerelement) in c# erstellt und dachte, dass er mit OnKeyDown Pfeiltasten erkennen kann ist auf dem Holzweg:

View Code CSHARP
1
2
3
4
5
6
protected override void OnKeyDown(KeyEventArgs e)
{
	/* wird für Pfeiltasten nicht aufgerufen */
	base.OnKeyDown(e);
	if (e.KeyCode == Keys.Up) MoveIndex(-1);
}

Bei Druck auf die Pfeiltasten (Keys.Up, Keys.Down, Keys.Left, Keys.Right) wird weder OnKeyDown noch OnKeyPress aufgerufen.

Die Lösung bringt ProcessCmdKey:

View Code CSHARP
1
2
3
4
5
6
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
	if (keyData == Keys.Up) MoveIndex(-1);
 
	return base.ProcessCmdKey(ref msg, keyData);
}

Hier muss allerdings beachtet werden, dass in keyData auch Strg, Shift und Alt kodiert werden. keyData == Keys.Up ist nur true, wenn keine Steuerungstaste (Strg, Shift, Alt) gleichzeitig gedrückt wurde.

Welche Tasten gedrückt sind lässt sich folgendermaßen herausfinden:

View Code CSHARP
1
2
3
4
bool shift = (keyData & Keys.Shift) != 0;
bool control = (keyData & Keys.Control) != 0;
bool alt = (keyData & Keys.Alt) != 0;
Keys unmodifiedKey = (keyData & Keys.KeyCode);

web.de Fail

Warum habe ich noch einen web.de Account? Ich weiß es nicht. Vermutlich sind die Fehlermeldungen so amüsant:

web-de-fail

Bauernfängerei mit .co.de “Domains”

Heute haben wir einen Brief von der von der Osnabrücker Websuche Search Technology GmbH erhalten. Dieser enthielt das unglaublich günstige Angebot eine .co.de “Domain” zu reservieren. Der Service kostet lediglich 99 Euro/Jahr. Wenn man bedenkt, dass richtige .de Domains 6 Euro/Jahr kosten: Ein richtiges Schnäppchen.

Zumindest gibt der Betreiber zu, dass .co.de keine richtige Domain ist:

Bitte verwechseln Sie .co.de-Domains nicht mit herkömmlichen .de-Domains wie sie von der Denic vergeben werden. Alle co.de-Domains sind technisch gesehen Subdomains der Domain co.de und werden nur direkt von der Firma Websuche als Betreiber und Inhaber der co.de vergeben.

Anscheinend hat uns der Brief spät erreicht, Heise berichtete bereits.

eine kurze Google Suche zeigt, dass sich schon andere über diesen “Briefspam” aufgeregt haben:
basicthinking.de 1 2
blog.websenat.de

Weitere findet google

c#: Win32Exception: Fehler beim Erstellen des Fensterhandles

Wann tritt diese Exception auf? – Wenn zu viele Steuerelemente erstellt und nicht wieder aufgeräumt wurden.

Beispiel

View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
    public partial class Form1 : Form
    {
        void ForceException()
        {
            while (true)
            {
                Label l = new Label();
                this.Controls.Add(l);
                this.Controls.Clear();
            }
        }
    }

Bei jedem Schleifendurchlauf wird ein neues Label erstellt. mit this.Controls.Clear(); wird das Label zwar entfernt, aber das Fenster-Handle des Labels existiert weiterhin. Da jeder Prozess nur begrenzt viele Fenster-Handles haben kann sind diese irgendwann aufgebraucht.

Abhilfe

View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
13
    public partial class Form1 : Form
    {
        void ForceException()
        {
            while (true)
            {
                Label l = new Label();
                this.Controls.Add(l);
                this.Controls.Clear();
                l.Dispose();
            }
        }
    }

Mit l.Dispose(); werden alle Ressourcen, die das Label reserviert hatte freigegeben. Damit wird auch das Fenster-Handle wieder frei und kann später wieder verwendet werden. Die obige while-Schleife läuft beliebig lange ohne Fehler.

Uni Stuttgart, IKR: Der neue CIP-Pool – auch mit Internet, aber nur ein bisschen (Update)

Das IKR hat einen neuen CIP-Pool. Der Pool ist eigentlich nicht neu, es wurden alle alten Rechner entfernt und 70% mit neuen ersetzt. Somit sind 30% der Plätze mit leeren Stellen aufgefüllt.

An den 70% der Hardware gibt es wenig auszusetzen. Hochwertige IPS Panel von Eizo mit Blickwinkel > 170° stehen neben schlanken Arbeitsstationen, die von einem Intel Core2 Duo angetrieben werden. Ebenso wie das 100 Mbit Netzwerk 1 Gbit Cisco Switches weichen musste, wurden die stark verschmutzten “Human Interface Devices” durch Neue der Firma Logitech ersetzt.

Auf Seiten der Software wurde auch nicht gespart: Die mittlerweile durch KDE 4.0 ersetzte KDE 3.5 ist anzutreffen. Auch Wireshark ist auf allen Linux Rechnern zu finden. Das ist toll, ohne Administrator-rechte kann man damit gespeicherte pcap-Dateien anschauen, sehr praktisch im täglichen Gebrauch.

Es ist sogar möglich “Webseiten” aus “dem Internet” aufzurufen. Konkret: über einen Proxy Server können alle Proxy-Server fähigen Programme http und https auf den Standard Ports nutzen. Damit sind genau 2/65535 = 0,00305% “des Internets” erreichbar. Von außen, aus “dem Internet” ist der CIP-Pool nicht mehr zu erreichen. Damit sind Studenten vor allen Gefahren aus “dem Internet”, aber auch vor sich selbst optimal geschützt. (Außer Phishing, aber das wird komplett überbewertet.)

Andere Dienste, wie zum Beispiel telnet, ssh, ftp oder svn sind sowieso nicht so wichtig und finden kaum praktische Anwendung.

Folgede Dinge sind im CIP-Pool noch problemlos möglich:

  • Flash Games
  • Emails, ach nein. Webmail abrufen
  • Sich auf ei07.de im Forum einloggen
  • habe ich Flash Games erwähnt?

Es gibt aber doch eine Einschränkung: Die Flash Games haben keinen Ton – es gibt keine Boxen. Daran sollte gearbeitet werden.

Ein Proxy Server hat weitere Vorteile: Die aufgerufenen Seiten können zur Vorratsdatenspeicherung leichter erfasst werden. Außerdem können unerwünschte Seiten sehr leicht gesperrt oder durch STOPP-Seiten ersetzt werden.

Die Rechner haben zwar USB-Anschlüsse, daran kann aber höchstens ein USB-Weihnachtsbaum betrieben werden, da Massenspeicher nicht automatisch gemounted werden.

Fazit
Flash Games und USB-Weihnachtsbaum!

Update 10.12.2009

Soeben habe ich einen Kommentar von einem interessierten Leser erhalten:

Du könntest Dich noch darüber auslassen:

* Dass Maple nicht mehr drauf ist
* Dass man sich nimmer Remote einloggen kann, um Matlab, Modelsim usw. zu benutzen
* Dass man Modelsim nicht mehr über Nacht auf einem Server laufen lassen kann, um eine Schaltung zu Simulieren, die man sich ausgedacht hat (Gleiches für Matlab-Berechnungen/Simulationen)

Da ich diese Programme bisher nicht im CIP Pool genutzt habe ist mir das nicht aufgefallen.

Uni Stuttgart: “Die Liste” – Die Fachschaft hat sie!

Vor geraumer Zeit wurde von Seiten der Professoren “die Liste” angekündigt.

Aber fangen wir am Anfang an. Wir sind der letzte Diplomstudiengang, bevor alles den Bachelor hinuntergeht. Leider sind auch schon jetzt Vorlesungen in Mitleidenschaft gezogen worden. So kündigten einige Professoren an, ihre Vorlesungen nächstes Jahr streichen zu wollen. Nach studentischen Protesten wurde eine Liste angekündigt, die zu jeder “gefährdeten” Vorlesung eine Äquivalenz finden lassen soll.

Wie ich heute von vertrauenswürdigen Quellen aus einem Institut erfahren habe, liegt “die Liste” der Fachschaft bereits vor. Sie sei allerdings sehr unvollständig. Die Aussagen gingen sogar so weit:

Es scheinen nicht alle Professoren zu wissen, welche Vorlesungen sie halten.

Naja, das macht doch nichts, studierbar wird das Elektrotechnik Diplom an der Uni Stuttgart doch sicherlich bleiben, oder? Außerdem: “Mitte November” muss man ja nicht so eng sehen.

Uni Stuttgart: Pünktlich?

Die Fachschaft tut ihr bestes, verspätete Informationen an Studenten weiterzuleiten. Allerdings ist “sehr kurzfristig” noch vorsichtig ausgedrückt.

[...]
Die erste Übersichtsvorlesung findet schon heute um 14:00 Uhr im Hörsaal V47.03 statt! Der heute vorgestellte Schwerpunkt ist “Elektrische Energiesysteme”. Wir wissen, dass das sehr kurzfristig ist, allerdings wurden wir auch erst gerade eben darüber informiert.

Die Mail kam um 13:33. Ich bin mir sicher, dass ein oder zwei Studenten aufgrund dieser Mail die Übersichtsvorlesung “Elektrische Energiesysteme” noch gehört haben…

Google Übersetzung: Yoda hat gesprochen

In meinem debian Proftp HowTo heißt es:

Für einige der nachfolgenden Befehle muss man root sein. Am besten man wird es jetzt schon.

Google übersetzt:

To be root for some of the following commands must be. The best thing is it already now.

Nein, das ist falsch. Richtig wäre:

To be root for some of the following commands you must be, my young padawan. [...]

YODA-HASTE-RECHT

HowTo: Textersetzung in mehreren Dateien mit Perl (preg) unter Windows und Linux

Neulich stellte sich mir folgendes Problem:
Ich hatte viele Dateien, in denen ich Text ersetzen wollte. Mit einem normalen Editor ist dies schlecht möglich. Abhilfe schafft der Perl Interpreter:

1
2
3
4
5
6
7
8
perl -pi -w -e 's/search/replace/g;' *.html
 
    -e Argument ausführen (execute)
    -i "in-place" editieren
    -w Warnungen ausgeben
    -p "loop"
 
siehe auch perl -h

Beispiel Datum 1

Es soll das Datum von 2008 auf 2009 in allen html-Dateien im aktuellen Verzeichnis aktualisiert werden:

1
perl -pi -w -e 's/2008/2009/g;' *.html

Beispiel Datum 2

Es soll das Datum von 200x auf 2009 in allen html-Dateien im aktuellen Verzeichnis aktualisiert werden:

1
perl -pi -w -e 's/200[0-8]/2009/g;' *.html

Beispiel: Verzeichnisse rekursiv durchsuchen (nur Linux)

1
2
3
4
5
find * | grep -E "\.html$" | xargs perl -pi -w -e 's/search/replace/g;'
 
    find * gibt alle Dateien und Verzeichnisse aus
    grep -E "\.html$" selektiert nur Dateinamen, die auf .html enden
    xargs gibt die Dateinamen als Parameter an Perl weiter

WordPress Themes