Wie man WP-Syntax noch etwas tunen kann…

WP-Syntax ist eine tolle Extension für WordPress, darauf habe ich ja schon in dem Artikel Was nicht alles mit WordPress möglich ist… hingwiesen.

Das ganze hatte nur einen hässlichen Nachteil. Wenn man < > ein oder & im Code verwendete, dann hat der Wysiwyg Editor natürlich schnell mal &lt;, &gt; und &amp; daraus gemacht und das macht den Code natürlich unlesbar.
Das bedeute also immer folgende vorgehensweise:

  1. Artikel schreiben
  2. Code einbauen und formatieren
  3. keine Änderung mehr machen
  4. Wenn Änderungen, dann alle &lt;, &gt; und &amp; im Code wieder zurück tauschen in <, > und &.

Nun es geht einfacher. Einach wp_syntax.php ändern so, dass immer die Sequenzen &lt;, &gt; und &amp; eben wieder  in  <, > und & umgewandelt werden. Dazu muss man einfach nur die Funktion wp_syntax_code_trim um die Zeilen 5 bis 10 erweitern.

function wp_syntax_code_trim($code){ 
  // special ltrim b/c leading whitespace matters on 1st line of content 
  $code = preg_replace("/^\s*\n/siU", "", $code); 
  $code = rtrim($code); 
  // MRi: changes to retranslate html code tags into the normal 
  // characters for geshi. 
  $code = strip_tags($code); 
  $arrSearch = array("&lt;", "&gt;", "&nbsp;", "&amp;");
  $arrReplace = array("<", ">", " ", "&"); 
  $code = str_replace($arrSearch, $arrReplace, $code); 
  return $code; 
}

Das war es auch schon. Man sollte sich jetzt nur noch angewöhnen auf ein < Zeichen immer ein Leerzeichen folgen zu lassen, sonst ergänzt TinyMCE evtl. sehr unsinnige closing Tags ❗

Einen herzlichen Dank an Shantz der hier den entscheiden Hinweis gab.

Wie man eine Tastatur an einem Samsung R40 tauscht

Ich habe durch eigene Blödheit die Alt-Gr Taste an meinem netten kleinen Samsung Laptop abgerissen.
Frag mich bitte keiner wie und warum (ich beantworte Rückfragen dazu nicht 🙂 )!

Über den Samsung Support fand ich schnell den entsprechenden Ersatzteillieferanten http://www.mk-electronic.de. Es wurde blitzschnell geliefert. Gegen 14:00 Uhr am Dienstag bestellt, Lieferung am nächsten Tag per UPS!

Bleibt nur noch die Frage. Wie tauscht man die Tastatur? Eine Anleitung im Netz gab es nicht und einsenden wollte ich den Laptop sowieso nicht.

Nach etwas genauerer Untersuchung und nachdem ich viel zu viele Schrauben gelöst hatte, war das ganz einfach:

  1. Auf der Rückseite sind zwei Schrauben die mit KBD markiert sind. Beide entfernen.
  2. Dann mit einem kleinen Schraubenzieher drei federnde Keile zurückdrücken, die sich am unteren Rand der Tastatur zum Gehäuse befinden. Der eine befindet sich in der Mitte der Leertaste. Dann links zwischen Strg und Windows-Taste. Eine weitere rechts auf Höhe der Pfeil-Unten Taste.
    Das Ganze macht man am Besten, so dass man die Tastatur in der Mitte gleich anhebt. Sodass die Keile unter der Tastatur liegen.
    Aufpassen, dass man nicht das Gehäuse verschrammt.
  3. Dann mit einem weiteren kleinen Schraubenzieher rechts oder links auf Höhe der Ende-Taste (Umschalt-Taste), die Tastatur aus den kleinen Haken an der Seite lösen in dem man sie etwas nach links (rechts) drückt. Das geht noch einfacher wenn man auch auf Höhe der Leertaste die Tastatur gleichzeitig ein wenig anhebt.
  4. Wenn die Tastatur vorne rechts und links nicht mehr gehalten wird kann man sie nach vorne heraus ziehen.
  5. Unter der Tastatur, nun die Klappe an der Klemmleiste des Flachbandkabels anheben. Es ist eine Klappe, keine Schieber. Flachbandkabel nach oben abheben. Jetzt kann die Tastatur ganz entfernt werden.
  6. Einbau der neuen in umgekehrter Folge.
  7. Flachbandkabel so einlegen, dass die zwei Nuten hinter den zwei Erhebungen liegt. Klappe ohne Gewalt zudrücken.
  8. Tastatur oben an den F-Tasten mit den Nuten einlegen.
  9. Funktionstest!
  10. Mit sanften Druck an der Unterseite und am Rand einrasten lassen.
  11. Schrauben eindrehen.

Fertig!

Anmerkung:

  • Die Tasten an der Samsung-Tastatur, lassen sich nicht einzeln tauschen. Sie haben eine spezielle Mechanik (kleine weiße Federn), die diese Tastatur auch so unschlagbar leise machen. Meine ganzen Toshibas, die ich in der Firma habe sind dagegen laute Klapperkisten.
  • Diese Anleitung ist ohne Gewähr und Verwendung geht auf eigenes Risiko ❗

C++ Community Event in Bad Homburg mit Microsoft Program Managern

Bei Microsoft passiert wieder mehr zum Thema C++.
Nachdem sich Dariusz Parys schon über volle C++ Vorträge bei dem Launch in Frankfurt wunderte und er nach Interessenten gefragt hat, die an weiteren lokalen Events für C++ interessiert sind tut sich nun was!

Am 17. April bietet Microsoft für die C++-Entwickler-Gemeinschaft eine dreistündige Veranstaltung zum Thema C++ in Visual Studio 2008 und dem VS2008 Feature Pack für C++ in Frankfurt/Main an.

Es wurden zwei Program Manager aus der Product Group eingeladen und sie einiges zum Thema C++ vortragen:

  1. What’s new in Visual Studio 2008
    • walkthrough new C++ features
    • VSTS for C++ developers
  2. A deeper look into the VS2008 Feature Pack for C++
    • demo of improvements to MFC
    • the value of TR1
  3. A brief glimpse into the future of Visual C++
    • highlights from what we’re building for the next version of C++

Termin & Ort (Update 31.03.2008):

  • Datum: 17.4.2008, 16 – 19 Uhr

  • Ort: Steigenberger Hotel Bad Homburg
    Kaiser-Friedrich-Promenade 69-75
    61348 Bad Homburg v. d. Höhe

Die Teilnahme an der Veranstaltung ist kostenfrei ❗

Anmeldung erfolgt per Email über den offizieller Link für die Veranstaltung:
http://blogs.msdn.com/softwarehersteller/pages/cpp2008-4-ffm.aspx

Anmerkung (31.03.2008):
Der ursprüngliche Veranstalltungsort war Frankfurt. Wurde am 31.03. endgültig auf Bad Homburg festgelegt!

Wie bekommt man den Servernamen auf den Anmeldeschirm eines Windows Servers?

Ich habe in unserem Serverraum 4 Server herumstehen. Natürlich nur einen Bildschirm mit einer elektronischen Maus-, Tastatur- und Bildschirmumschaltung. Leider liegt das alles so, dass ich den Umschalter nie im Blick habe und so rätsele ich jedesmal, auf welchen der 4 Server meldest Du Dich eigentlich jetzt an (wenn es mal direkt sein muss und nicht über einen Remotedesktop). Oft genug erwische ich den falschen Server.

Wie bekommt man nun also am Besten den Anmeldenamen des Servers in den Logonscreen?

Die Gina haken, habe ich keine Lust… und irgendwas muss ja auch mit den Bordmitteln gehen.
Etwas googlen und die direkte Suche nach allen Registry Einträgen die es für WinLogon gibt, brachten die erwünschte Info:

Unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon wird einfach ein neuer Texteintrag mit dem Namen Welcome erzeugt. Dort nun den Servernamen eingetragen z.b. als * SVR-02 * und schon steht in der Überschrift des Anmeldebildschirmes die Info, die ich manchmal so sehr vermisst habe.

Windows Vista SP1 verfügbar auf Windows Update

Das Windows Vista SP1 ist ab sofort als Download verfügbar.

Mehr dazu hier:
http://windowsvistablog.com/blogs/windowsvista/archive/2008/03/18/windows-vista-sp1-released-to-windows-update.aspx

Die lockeren 435MB für das standalone Update gibt es hier zum Download:
http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=b0c7136d-5ebb-413b-89c9-cb3d06d12674

Wird das SP1 über Windows Update geladen ist es kleiner, er lädt ca. 70MB und dann noch einiges bei Bedarf nach!

Meine ersten Schritte mit Joomla

Jetzt steht Sie, meine erste kleine Homepage, die ich mit Joomla zusammengebastelt habe. Es ist die Homepage meiner Gemeinde http://www.efg-meerholz.de

Ich weiß, vom Template noch verbesserungsfähig, aber ich habe ertsmal alle Inhalte aus der alten Homepage transferiert und einiges aktualisiert. Das war erstmal genug Arbeit.
Ganz zu schweigen von den Anfangsproblemen, von denen ich noch berichten werde.

Das System ist wirklich flexibel. Aktuell nutze ich die folgenden Komponenten:

LoadIcon macht es nicht richtig…

… oder sollte man sagen: Nicht so wie erwartet. 

In einer der Micosoft Newsgroup fand sich eine Anfrage, die sich um folgenden Code drehte:

HICON m_hIcon[2]; 
[...] 
m_hIcon[0] = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 
m_hIcon[1] = AfxGetApp()->LoadIcon(IDR_SMALL); 
[...] 
SetIcon(m_hIcon[0], TRUE);   // Großes Symbol verwenden 
SetIcon(m_hIcon[1], FALSE);  // Kleines Symbol verwenden

Das Problem des Posters war, dass er sich Mühe mit dem Layout eine kleines Icons gegeben hat, aber leider immer nur ein verkleinertes 32×32 Icon verwendet wurde.

Das Problem liegt an der Verwendung von LoadIcon! LoadIcon lädt immer das Standard-Format 32×32. Bzw. in dem Format, dass durch das System als Standard-Icon-Größe vorgegeben wird.

Um es richtig zu machen, muss man das Icon wirklich in der gewünschten Größe laden. Dazu verwendet man die Funktion LoadImage. Eine kleine Helper Routine LoadIconEx kann dann wie folgt aussehen:

HICON LoadIconEx(PCTSTR pszIconName, bool bLargeIcon) 
{ 
 HINSTANCE hInstance = ::AfxFindResourceHandle(pszIconName,RT_GROUP_ICON); 
 return reinterpret_cast<HICON>(::LoadImage( 
       hInstance, 
       pszIconName, 
       IMAGE_ICON, 
       GetSystemMetrics(bLargeIcon ? SM_CXICON : SM_CXSMICON), 
       GetSystemMetrics(bLargeIcon ? SM_CYICON : SM_CYSMICON), 
       0)); 
}

External Tools in VS-2005 IDE begrenzt die Argumente auf 251 Zeichen

Wenn man sich ein eigenes Tool baut, dann kann man Überraschungen erleben, wenn nicht das passiert was man möchte.

Auffällig ist schon, dass der Eingabebereich nicht sonderlich lange Befehlszeilen zulässt. Bei 251 Zeichen ist Schluss. Aber wirkliche Überraschungen erlebt man, wenn man Environment-Variablen oder die schönen vordefinierten Makros für den aktuellen Projektpfad verwendet. Wird hier eine etwas komplexere wirklich lange Befehlszeile aufgebaut, dann ist das Ergebnis oft genug zufällig.

Das Problem ist, dass alle Argumente der Befehlszeile auch nach dem Expandieren der Makros eine Länge von 251 Zeichen nicht überschreiten. Der Rest wird einfach abgeschnitten!

So werden z.B. Dateien kopiert, aber nichtdahin wo man sie hin haben wollte.

Good News: Diesen Bug hat man in VS-2008 gefixt. Die Eingabezeile für Argumente ist zwar immer noch begrenzt, aber Makros werden jetzt korrekt expandiert und die entsprechende Befehlszeile darf jetzt länger werden.

VS-Tipps & Tricks: Downgrade für VC-200x Projekte

Kann man ein auf VC-2005 erstelltes Projekt einfach auch unter VC-2003 builden?
Oder ein 2008er Projekt auf VS-2005 laden?

Der Mühsame weg, ist es, das Projekt neu aufzubauen. D.h. ein leeres Projekt anzulegen und die entsprechenden Dateien aus dem alten Projekt in das neue Projekt in der niedrigeren Version aufzunehmen.
Es geht etwas leichter mit einem kleinen Hack ❗

Nehmen wir das Beispiel eines Downgrades von VS-2008 auf VS-2005.

  • Man kopiert einfach die entsprechende VCPROJ Datei unter einen neuen Namen
  • Man öffnet diese Datei mit dem Editor seiner Wahl
  • Man schaut in die Datei und findet den folgenden XML Code

<?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
  ProjectType="Visual C++"
  Version="9,00"

Alles was man nun ändern muss ist die Zeile 4 mit dem Version Eintrag.
Wie ändern diesen Eintrag auf

 Version="8,00"

für VS-2005. Will man zurück auf die Version VS-2003 dann muss der neue Wert

 Version="7.10"

heißen.

Und schon sind wir fertig. Man glaubt es kaum 🙂

Klar ist, dass natürlich neue Features, wie z.B. Eigenschaften des Manifest Compilers in der vorher gehenden Version, die das z.B. gar nicht kennt untergehen. Diese Dateien bleiben in der Projektdatei, aber werden Dank XML einfach in der alten VS Version ignoriert.

Das Knacken an meiner StreetMachine GT…

Das Knacken an meiner StreetMachine GT, hat mich die längste Zeit geärgert ❗
Es hat lange gedauert aber ich habe es gefunden.
Ich hasse es wenn ein Fahrrad oder Liegerad mehr Geräusche macht als eine surrende Kette.

Letztes Jahr fing es irgendwann an. Es knackte wenn ich mit dem Liegerad fuhr. Spurensuche:

  • Erster Verdacht: Hinteres Schwingenlager.
    Das wäre ganz schlecht, aber es ist eben auch Verschleiß. Nach x-Tausend Kilometern darf das ja mal auch nach Ersatz jammern. Aber genaueres Hinhören ergab: Nur wenn ich trete knackt es. Rolle ich so vor mich hin dann ist selbst bei den heftigsten Bodenwellen nichts zu hören.
  • Lästernde Leser werden denken: Warum hat er nicht an seine Knie gedacht?… Habe ich aber es knackte eben nur auf dem Liegerad 😉
  • Also Zweiter Verdacht: Tretlager!
    Ist es nicht. Ich kenne das Knacken von defekten Tretlagern. Das spürt man sogar durch die Klickpedale. Zudem, die Kontrolle ergab: Lager ist ohne Spiel.
  • Dritter Verdacht: Der Sitz!
    Das kannte ich schon. Eine von den Sitzschrauben hat sich evtl. gelockter oder, die Sitzschale hat evtl. einen Bruch. Auch Fehlanzeige: Sitz OK, Schrauben fest.
  • Vierter Verdacht: Nabe, Freilauf oder Zahnkranz hinten.
    Auch nichts. Nabe war erst 1 Jahr alt, Zahnkranz ist fest.

Und nun ❓ 😕

Also nochmal alles genau unter die Lupe nehmen…
Da ist ja noch die Umlenkrolle unter dem Sitz. Diese lenkt die Kette über den Totpunkt, der Schwinge auf das hintere Ritzel. Das „No-Squat-Design“ wie es HP in der Werbung nennt.

Ich baue das gute Stück aus, und was sehen meine müden Mechaniker Augen. Beide Industrielager haben extremes seitliches Spiel. In der Bastelkiste schnell zwei andere ABEC5 Lager gesucht und eingebaut. Und…

… welche Genuß! Meine Streetmachine macht wieder nur diese beruhigenden surrenden Geräusche ❗