Assemblerprogramm
27. März 2010, 19:00Beim Aufräumen meines Rechners habe ich noch einen interessanten Quelltext entdeckt, der während meines Studiums entstand, den ich niemanden vorenthalten möchte. Alles was dieses Assemblerprogramm macht, ist eine Folge von Hex-Werten in ihre ASCII-Entsprechung umzuwandeln.
Das Programm sollte auf einem MC 68000 Prozessor von Motorola noch lauffähig sein.
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 | * Christian Meilicke, Robert Schneider ORG $0 DC.L $8000 DC.L START ORG $2000 * 16 bytes mit den ascii-werten in hex darstellung * werden im speicher abgelegt VALUES DC.B $30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$41,$42,$43,$44,$45,$46 * register D0,D1,D4 loeschen bzw auf 0 setzen START AND.L #0,D0 AND.L #0,D1 AND.L #0,D4 * wert des bytes, das umgewandelt werden soll, in das datenregister D0 schreiben MOVE.B #$FF,D0 * anfangsadresse des speicherbereichs, in dem die ascii werte abgelegt wurden * in das adressregister A0 laden LEA VALUES,A0 * damit am schluss der hex wert des bytes weiterhin in D0 steht, * kopiere ich den wert in D4 und arbeite mit diesem wert weiter MOVE.B D0,D4 * indem ich die zahl in D4 durch hex 10 teile, * habe ich danach in den bits 0-15 von D4 den qoutienten, in den bits 16-31 den rest stehen DIVU #$10,D4 * in D1 wird dann der wert der speicherstelle geschrieben, die in A0 steht, um die distanz * von dem wert der bits 0-15 in D4 erweitert MOVE.B (A0,D4),D1 * durch eine multiplikation mit hex 100 wird der inhalt an die richtige stelle nach rechts * geschoben, sprich in das 2 byte MULU.W #$100,D1 * durch den swap erreicht man eine vertauschung der 2 16-bit worten in D4 SWAP D4 * erklaerung dieses schrittes, siehe weiter oben MOVE.B (A0,D4),D1 * hilfsdatenregister D4 wieder auf 0 setzen AND.L #0,D4 END BREAK |
WP-Plugin Custom Footer
27. Februar 2010, 17:53Kleines Wordpress-Plugin, das es einem Benutzer ermöglichen soll, den Footer einer Seite zu ändern, ohne das HTML-Template bearbeiten zu müssen. Dafür muss in der Datei footer.php des verwendeten Themes lediglich die Funktion wp_footer() eingebunden sein.
Suchen, Ersetzen und reguläre Ausdrücke, Teil 1
22. Februar 2009, 23:57Habe hier ein paar reguläre Ausdrücke für verschiedene Textwerte zusammengetragen, die ich während der Programmierung oft verwende. Natürlich könnte man diese noch weiter verfeinern, doch für meine Bedürfnisse waren sie bisher ausreichend.
Dezimalzahl:
Textfeld:
E-Mail:
Datum:
Telefon:
Wer sich ein wenig mit regulären Ausdrücken beschäftigen möchte, findet hier ein sehr gutes Tutorial zu dem Thema.
Plesk und qmail
22. Oktober 2008, 09:53Wenn der Versand einer E-Mail aus einem Client heraus länger dauert, als es normalerweise dauern sollte, kann man eine Anpassung in der Datei /etc/xinetd.d/smtp_psa vornehmen. Nach der Stelle “server_args = ” das Argument -Rt0 hinzufügen, danach xinetd neustarten rcxinetd restart und schon sollten die Mails um einiges schneller versendet werden.
MAMP-Zugriff über Parallels
26. September 2008, 17:16Um Webseiten, die auf einer lokalen MAMP-Installation auf dem MacBook laufen, auch mit dem Internet Explorer unter Parallels testen zu können, muss man unter Systemeinstellungen > Sharing > Web-Sharing aktivieren.
Nun ist der Webserver unter Parallels über sabu.local:8888 (wobei sabu der Name des Computers ist) zu erreichen.
Update:
Indem man Bonjour für Windows installiert, kann man auf die Einstellung oben verzichten.
Sollte der Rechner unter COMPUTERNAME.local nicht erreichbar sein, so kann man es alternativ auch mit der IP-Adresse versuchen.
Downloads tracken mit Google Analytics
15. September 2008, 23:20Hier findet man ein kurze Beschreibung, wie man in Google Analytics seine Downloads erfassen kann.
Multiple Firefox unter Mac OS X
20. Juni 2008, 15:00Da ich meinen Firefox, ungeduldig von den neuesten Features Gebrauch zu machen, auf die neueste Version 3 aktualisiert habe und dadurch das BE von TYPO3 bei Versionen < 4.2 nicht mehr funktionierte, stand ich heute vor dem Problem, wie installiere und benutze ich Firefox 2 und Firefox 3 parallel?
Die Lösung ist relativ einfach. Man lädt sich nochmal die Version 2 runter, mountet das dmg und kopiert Firefox.app z.B. auf seinen Desktop. Benennt die Datei in Firefox2.app um und verschiebt sie in den Programmordner.
Auf der Kommandozeile ruft man den Profile-Manager auf:
und legt ein neues Profil für Firefox 2 an. Das default-Profil kann man für Firefox 3 verwenden.
Nun erscheint beim jedem Start von Firefox der Profile-Manager. Indem man für die verschiedenen Versionen von Firefox unterschiedliche Profile verwendet, kommen sich die Add-Ons, Themes und sonstige Einstellungen nicht in die Quere.
Plesk Tricks
18. Juni 2008, 14:39Um abweichende Einstellungen für einen bestimmten virtuellen Host vorzunehmen kann man wie folgt vorgehen:
- unter /var/www/vhosts/systemfehler.net/conf die Datei vhost.conf anlegen
- in der angelegten Datei die gewünschten Konfigurationen vornehmen
1
2
3
4
5<Directory /srv/www/vhosts/domain.de/httpdocs>
php_admin_value open_basedir none
php_admin_flag safe_mode off
# usw.
</Directory> - durch folgenden Befehl wird die vhost.conf an das Ende des virtuellen Hosts in der Datei httpd.include eingefügt:
/usr/local/psa/admin/sbin/websrvmng -u --vhost-name=domain.de - damit die Änderungen dann auch wirksam werden, muss Apache neu gestartet werden (
rcapache2 reloadoderrcapache2 restart). Davor würde ich aber mitrcapache2 configtestüeberprüfen, ob die Syntax der Konfigurationsdatei stimmt
Stoppen bzw. starten des Plesk-Dienstes (PSA) über die Shell mit folgenden Befehlen:
/etc/init.d/psa stopbzw./etc/init.d/psa start
Domainumleitung um Mehrfachcontent zu vermeiden
7. November 2007, 10:19Hiermit lassen sich alle Domains, die auf den gleichen Inhalt zeigen, auf eine Domain weiterleiten.
1 2 3 | RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.systemfehler\.net [NC] RewriteRule ^(.*)$ http://www.systemfehler.net/$1 [R=301,L] |
Hiermit lässt sich eine Eingabe der Domain ohne www, auf die Domain mit www weiterleiten.
1 2 3 | RewriteEngine On RewriteCond %{HTTP_HOST} ^systemfehler\.net$ [NC] RewriteRule ^(.*)$ http://www.systemfehler.net/$1 [R=301,L] |
Apache-Direktiven
30. August 2007, 16:581 2 3 4 5 6 | # direkter Aufruf von php-Dateien # in einem Ordner verhindern <Files *.php> Order Deny,Allow Deny from all </Files> |
1 2 | # directory listing bei Apache > 1.3.x erlauben Options +Indexes |
1 2 3 4 5 6 | # verschiedene Werte in der php.ini ueberschreiben <IfModule mod_php4.c> php_value session.use_trans_sid On php_admin_flag safe_mode Off php_admin_value open_basedir None </IfModule> |
1 2 3 4 | # teilt dem browser den zeichensatz mit, # in dem die inhalte geliefert werden AddDefaultCharset ISO-8859-1 AddCharset ISO-8859-1 .iso8859-1 .latin1 |

