PHP-Sessions und Subdomains

by Rainer Bendig on September 2, 2010

Wenn man PHP-Sessions für alle Subdomains einer Domain aktivieren will, muss man in der php.ini

session.cookie_domain = .mydomain.com

einstellen, oder alternativ sofern möglich im PHP-Script

ini_set("session.cookie_domain", ".mydomain.com");

Modline für Acer V223HQ unter Ubuntu 9.10

by Rainer Bendig on April 5, 2010

Um einen Acer V223 HQ unter x.org zu betreiben sind folgende Einträge in der “Monitor”-Section in der xorg.conf notwendig:

HorizSync 64.0 - 74.0
VertRefresh 57.0 - 67.0
Modeline "1920x1080" 187.00  1920 2016 2240 2672  1080 1080 1083 1121

danach gdm/kdm/whatever neu starten und glücklich sein, ohne flackern.

Semi-crash of a Linksys WAG54G2

by Rainer Bendig on March 21, 2010

i am using a Linksys WAG54G2 (Revision B) for connecting with the internet. After an uptime of 17 hours and ~30 Minutes the device crashs. First it didn’t reconnect after a 24 hour disconnect of my ISP (Deutsche Telekom AG aka T-Online Germany) and later i found out, that the webinterface also crashed. Currently I am using a timer for rebooting the router after 23h and 59 minutes, but that’s only a workaround, it should run 24/7 ;(

As you see, the page is only semi-rendered what’s really bad.

Even the status screen doesn’t show the current IP-Address, or gateway. It isn’t also possible to disconnect the router and reconnecting it.

If the device is semi-crashed, internet traffic, wireless lan traffic and ethernet traffic is going through.

Currently i am using firmware version V1.00.19, it was also broken with V1.00.15,  V1.00.16 and also V1.00.17. all upgrades didn’t fix this error. What’s wrong with the device?

Remake: Medikamentenplan

by Rainer Bendig on March 20, 2010

Nach dem großen Zuspruch auf meinen Medikamentenplan (Gemessen an den Hits von Suchmaschinen), den ich zum Download bereitgestellt habe, ist es meines Erachtens an der Zeit nach einem Remake. Daher nun meine Frage:

  • Was fehlt euch an dem Medikamentenplan?
  • Was kann man verbessern?
  • Wo wird er eingesetzt?
  • Soll er in anderen Dateiformaten (OpenXML, Publisher, Adobe Indesign, …) bereit gestellt werden?

Gerne auch via E-Mail an mrbendig@mrbendig.com.

Moving Databasefiles

by Rainer Bendig on March 20, 2010

If you want to move your databasefiles on a Microsoft SQL 2000, 2005 or 2008 server, you can use the following steps:

  1. (Optional) You should first backup your database, and then your current database files.
  2. (Optional) Get a list of all files in use by a database
    Use YourDatabase
    Go
    Exec sp_helpfile
  3. Detach the database, to prevent other users to use it. You cannot detach a database that’s in use, so you want maybe to restart the mssqlserver – service, or just drop all connections, otherwise, you will get an error.
    Exec sp_detach_db 'YourDatabase'
  4. Move your databasefiles to the new destinations. Remember: The rowfiles needn’t to be in the same folder like the log-files. For perfomance issues, move the log files to an other harddisk.
  5. Now reattach the database with the databasefiles. You need to provide the filename, with the drive and the folder structure. You need to provide every file, even those which are not moved or renamed.
    Exec sp_attach_db 'YourDatabase',
    'D:\NewSqlHome\Data\YourDatabase_Data.mdf',
    'D:\NewSqlHome\Logs\YourDatabase_Log.ldf'

Wrapper für Zend_Log

by Rainer Bendig on March 7, 2010

German Text, english text below.
Für ein Projekt war es notwendig auf das Zend Framework zurückzugreifen. Ansich ist das ja keine schlechte Sache, wenn Zend_Log mir nicht zuwenig Informationen liefern würde. Daher habe ich einen Wrapper für Zend_Log geschrieben. Der Wrapper besorgt zusätzlich noch zu den normalen Log-Nachrichten benutzerdefinierte Informationen (Zum Beispiel den Browser, die IP, die akzeptierten Sprache des Clients. Dies geschieht entweder bei bestimmten ErrorLeveln, oder auf Wunsch. Natürlich kann diese Funktionalität auch abgeschaltet werden.

Da es sich um ein Kundenprojekt handelt, werden auch interne Infos über den Benutzer geholt, wenn dieser eingeloggt ist  (getInternalUserInformations) . Solltet ihr den Wrapper einsetzen, würde es Sinn machen diese Funktion anzupassen, oder deren Inhalt, bzw Aufruf auszukommentieren (in Zeile 202).

English text, german text above.
For one of my projects i needed the Zend Framework. Of course, that’s not a bad thing at all, but Zend_Log sends much too less informations to my logfiles. That’s the reason why i wrote this wrapper for Zend_Log. The Wrapper provides information about the current visitor (like browser, ip, accapted languages etc). This happens automaticly for some error levels, or at your will. Of course, you can disable it, if you don’t need that informations.

Because it’s a customer projects, the wrapper class also gets some project relevant informations of a current session, you should comment out the call of getInternalUserInformations at line 202 if you don’t need it.

Read the rest of this entry »

Firefox – Updates deaktivieren

by Rainer Bendig on February 19, 2010

Da ich es immerwieder vergeige und meine automatischen Firefox-Updates nicht deaktiviere, was von Zeit zu Zeit recht nervig sein kann, hier kurz notiert. Bebildert da die Option dazu recht versteckt liegt.

Erst über den Klickpfad Extras (Alt-X bei ausgeblendeter Menübar) – Einstellungen zum Optionen-Dialog gehen.

Im Dialog auf “Erweitert” (1) klicken, auf “Update” klicken (2) und hier dann die entsprechenden Optionen deaktivieren.

Spart minimal Traffic, aber ggf auch Zeit :-)

Visual Studio 2010 und msdeploy

by Rainer Bendig on January 25, 2010

Für den IIS 7 bietet Microsoft ein Web Deployment Tool (msdeploy) als Erweiterung an. Dieses richtet auf der Standardwebsite einen kleinen Webdienst an, über den man einfach Web-Anwendungen, Websites etc veröffentlichen kann. In Visual Studio 2010 ist msdeploy unter dem Kontextmenüpunkt eines Projekts “Veröffentlichen” integriert. Will man diesen Benutzen, ist es wichtig, zumindest bei Standardinstallationen, nur den Hostnamen der IIS-Site in welcher der Webservice eingrichtet zu hinterlegen. Die Dokumentation sagt zwar

The remote service will listen on http://+/MSDEPLOYAGENTSERVICE/ by default, or at whatever URL that you specified if you performed a custom installation.

Jedoch scheint das für die Visual Studio integration nicht zuzutreffen. In Kombination mit der msdeploy Dokumentation ist das entsprechende Dialogfeld leider verwirrend. ;(

Zufällige Zeile aus Datenbank lesen

by Rainer Bendig on January 24, 2010

Da ich immer wieder drüber stolpere:

Eine zufällige Zeile liest man mit MySQL wie folgt:

SELECT * FROM table ORDER BY RAND() LIMIT 1

Für Microsoft SQL Server verwendet man

SELECT TOP 1 * FROM table ORDER BY NEWID()

Arbeitet man mit IBM DB2 braucht man

SELECT *, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Mit PostgreSQL tut es

SELECT * FROM table ORDER BY RANDOM() LIMIT 1

Oracle will es als

SELECT * FROM ( SELECT * FROM table ORDER BY dbms_random.value ) WHERE rownum = 1

Wobei es bei jeder Datenbank auf die Performance geht ;-(

Visual Studio AddIns, Plugins – Links

by Rainer Bendig on January 16, 2010

Das nackte Visual Studio 2008 / 2010 ist schon recht nett, kann aber durch die Installation von anderen Plugins massiv aufgewertet werden. Zu den Plugins die ich am Häufigsten benutze, zählen Resharper sowie Ghostdoc. Ich habe hier eine kleine Liste zusammengestellt über weitere, in meinen Augen nicht zu verachtende Plugins. Die Reihenfolge der Plugins gibt jedoch keine Aussage über die Wertigkeit oder Häufigkeit der Verwendung. Diese Liste ist auch nicht Vollständig, allerdings ändert sich auch die persönliche Selektion der Plugins immer mal wieder.