Skip to content
Browse files

initial commit (migrated from WordPress using the Jekyll Exporter plu…

  • Loading branch information...
mreithub committed Feb 23, 2017
0 parents commit be198911aa149859ae5656352f02ddb1933c2750
Showing with 973 additions and 0 deletions.
  1. +3 −0 _config.yml
  2. +212 −0 _posts/
  3. +38 −0 _posts/
  4. +75 −0 _posts/
  5. +37 −0 _posts/
  6. +51 −0 _posts/
  7. +61 −0 _posts/
  8. +33 −0 _posts/
  9. +42 −0 _posts/
  10. +36 −0 _posts/
  11. +22 −0 _posts/
  12. +22 −0 _posts/
  13. +43 −0 _posts/
  14. +42 −0 _posts/
  15. +135 −0 _posts/
  16. +79 −0 _posts/
  17. +21 −0
  18. +21 −0
  19. BIN wp-content/uploads/2009/09/barcode_isbn-150x150.png
  20. BIN wp-content/uploads/2009/09/barcode_isbn-300x200.png
  21. BIN wp-content/uploads/2009/09/barcode_isbn.png
  22. BIN wp-content/uploads/2009/09/barcode_product-150x150.png
  23. BIN wp-content/uploads/2009/09/barcode_product-300x200.png
  24. BIN wp-content/uploads/2009/09/barcode_product.png
  25. BIN wp-content/uploads/2009/09/barcode_qrcode-150x150.png
  26. BIN wp-content/uploads/2009/09/barcode_qrcode-300x200.png
  27. BIN wp-content/uploads/2009/09/barcode_qrcode.png
  28. BIN wp-content/uploads/2009/09/barcode_search-150x150.png
  29. BIN wp-content/uploads/2009/09/barcode_search-300x200.png
  30. BIN wp-content/uploads/2009/09/barcode_search.png
  31. BIN wp-content/uploads/2010/08/computerverwaltung_pc_auswahl-150x150.png
  32. BIN wp-content/uploads/2010/08/computerverwaltung_pc_auswahl-300x135.png
  33. BIN wp-content/uploads/2010/08/computerverwaltung_pc_auswahl.png
  34. BIN wp-content/uploads/2010/08/computerverwaltung_remotereg_starten-150x150.png
  35. BIN wp-content/uploads/2010/08/computerverwaltung_remotereg_starten-300x212.png
  36. BIN wp-content/uploads/2010/08/computerverwaltung_remotereg_starten.png
  37. BIN wp-content/uploads/2010/08/computerverwaltung_starten-150x150.png
  38. BIN wp-content/uploads/2010/08/computerverwaltung_starten.png
  39. BIN wp-content/uploads/2010/08/computerverwaltung_verbinden-150x150.png
  40. BIN wp-content/uploads/2010/08/computerverwaltung_verbinden-300x212.png
  41. BIN wp-content/uploads/2010/08/computerverwaltung_verbinden.png
  42. BIN wp-content/uploads/2010/08/regedit_connect-150x150.png
  43. BIN wp-content/uploads/2010/08/regedit_connect-300x159.png
  44. BIN wp-content/uploads/2010/08/regedit_connect.png
  45. BIN wp-content/uploads/2010/08/regedit_file_connect-150x150.png
  46. BIN wp-content/uploads/2010/08/regedit_file_connect.png
  47. BIN wp-content/uploads/2010/08/regedit_setValue-150x150.png
  48. BIN wp-content/uploads/2010/08/regedit_setValue-300x166.png
  49. BIN wp-content/uploads/2010/08/regedit_setValue.png
  50. BIN wp-content/uploads/2010/08/run_regedit-150x150.png
  51. BIN wp-content/uploads/2010/08/run_regedit-300x151.png
  52. BIN wp-content/uploads/2010/08/run_regedit.png
  53. BIN wp-content/uploads/2013/03/mail.png
  54. BIN wp-content/uploads/2013/03/mail1.png
  55. BIN wp-content/uploads/2013/05/blogTimingSlow-1024x249.png
  56. BIN wp-content/uploads/2013/05/blogTimingSlow-150x150.png
  57. BIN wp-content/uploads/2013/05/blogTimingSlow-300x73.png
  58. BIN wp-content/uploads/2013/05/blogTimingSlow.png
@@ -0,0 +1,3 @@
name: "Manuel Reithuber's Blog"
description: "whatever's on my mind"
@@ -0,0 +1,212 @@
id: 3
title: PG/Q Tutorial
date: 2009-07-22T23:46:09+00:00
author: Manuel Reithuber
layout: post
permalink: /2009/07/pgq-tutorial/
- Databases
- howto
- pg
- postgres
- postgresql
- tutorial
This article is meant to be a short tutorial on how to setup PG/Q for your databases.

PG/Q is a PostgreSQL module providing a queuing system. It’s developed by Skype and published under the terms of the BSD license.

It’s part of the [SkyTools]( package.

### Notes

* You need root privileges on your database server
* PG/Q uses a ticker process to distribute the events to the consumers. That’s why you have be able to run a daemon process on the database server.
* The pgqadm python script is called if you’re not installing the .deb from the Debian Sid repositories
* If you find errors in this howto, please contact me

### SkyTools Installation

**There are package in debian sid** that’ll do the trick (called skytools and skytools-modules-8.3) but however, if your debian doesn’t provice packages or you just want a more recent version, here’s how to build the debian packages yourself:

#### Download SkyTools

Go to the [download page]( "SkyTools download page") and download the most recent source package.

Unzip it either graphically or with the following command:

<p class="code">
tar xfz skytools-2.1.9.tar.gz

Change to the newly extracted directory:

<p class="code">
cd skytools-2.1.9

#### Building the package

To make sure you&#8217;ve got the required dependencies installed, run (**as root**):

<p class="code">
apt-get install postgresql libpq-dev postgresql-server-dev-8.3 python python-dev

And for the Package creation:

<p class="code">
apt-get install devscripts yada

After that you just have to start the build process using

<p class="code">
make deb83

If you&#8217;ve got an older/newer postgresql-server version, <tt>deb82</tt>, <tt>deb81</tt> or anything like that.

After make is finished, there should be two .deb files in the parent directory:

<p class="code">
cd ..<br /> ls -l *.deb
will output something like that:
<pre>-rw-r--r-- 1 manuel manuel 136304 16. Jul 09:52 skytools_2.1.9_i386.deb
-rw-r--r-- 1 manuel manuel 47572 16. Jul 09:52 skytools-modules-8.3_2.1.9_i386.deb</pre>
Now just run dpkg -i to install them:
<p class="code">
dpkg -i skytools_2.1.9_i386.deb skytools-modules-8.3_2.1.9_i386.deb
### Create pgqadm configuration
pgqadm is a command line tool for PG/Q that helps you setup your database and provides an event ticker to distribute the events to the consumers.
I recommend to create a new user for pgqadmin:
<p class="code">
adduser &#8211;system pgqadm<br /> su pgqadm -s /bin/bash<br /> cd ~<br /> mkdir cfg log pid
and in your database:
<p class="code">
It&#8217;s not necessary to provide a password for pgqadm because we&#8217;ll use IDENT authentication to connect to the database (unless you&#8217;ve configured your system not to).
<span>pgqadm</span> needs a config file for every database it should manage:
<pre class="code">[pgqadm]
# part of the .pid file, should be globally unique
job_name = pgqadm_dbname
# database connection string
db = dbname=dbname
# how often to run maintenance [minutes]
maint_delay_min = 5
# how often to check for activity [secs]
loop_delay = 0.1
logfile = ~/log/%(job_name)s.log
pidfile = ~/pid/%(job_name)
use_skylog = 0
Modify the config file to suit your needs and save it (e.g. as <span>/home/pgqadm/cfg/dbname.ini</span>).
### Setup your Database
To enable PG/Q for your database, several tables and functions have to be created. pgqadm does this for you if you invoke
<p class="code">
pgqadm /home/pgqadm/cfg/dbname.ini install
### Autostart pgqadm ticker daemon
Unless the pgqadm ticker is started, no events can be recieved.
I&#8217;d recommend writing an init script to start it for all your databases:
save this script as <span>/etc/init.d/pgqadm_ticker</span> and make it executable:
<p class="code">
chmod +x /etc/init.d/pgqadm_ticker
use update-rc.d to automatically start it
<p class="code">
update-rc.d pgqadm_ticker defaults
That should be it. Now just start the deamon manually (you just need to do this the first time)
<p class="code">
/etc/init.d/pgqadm_ticker start
### Use PG/Q
The following commands are all SQL statements.
It&#8217;s also possible to use pgqadm for these tasks. Read the manual page of pgqadm for further help.
First you have to create a queue:
<p class="code">
#### Producer side
After that, events can be created (e.g. in trigger functions):
<p class="code">
pgq.insert_event(&#8216;<em>queueName</em>&#8216;, &#8216;<em>eventType</em>&#8216;, &#8216;<em>data</em>&#8216;);
#### Consumer side
To receive events, you have to register a &#8220;Consumer&#8221;:
<p class="code">
pgq.register_consumer(&#8216;<em>queueName</em>&#8216;, &#8216;<em>consumerName</em>&#8216;);
Every consumer will receive all of the events.
<pre>int8 batchId;
-- infinite loop
batchId = pgq.next_batch('<em>queueName</em>', '<em>consumerName</em>');
if (batchId == null) then sleep(delayInterval);
else {
-- end infinite loop</pre>
#### Sources
* [SkyTools installation guide](
* [PG/Q SQL API overview](
* pgqadm man page
@@ -0,0 +1,38 @@
id: 11
title: WordPress auf
date: 2009-08-08T20:18:56+00:00
author: Manuel Reithuber
layout: post
permalink: /2009/08/wordpress-auf-bplaced-net/
- Web
- bplaced
- hosting
- mysql
- php
- wordpress
Wer einen einfachen und günstigen (um genauer zu sein: kostenlosen und werbefreien) Weg sucht, um an Webspace mit Blogging-System zu kommen, dem kann ich []( empfehlen.

Für die, die bplaced noch nicht kennen: Der Wiener Anbieter bietet wahlweise 1 oder 2 GB Webspace mit PHP, MySQL & PostgreSQL. Lediglich URL-Zugriffsfunktionen im PHP sind eingeschränkt, um Missbrauch vorzubeugen.

Für WordPress oder andere Blogging Systeme, CMS, &#8230; sind also (nahezu) perfekte Voraussetzungen geschaffen.

Und das Beste ist: Man kann den bplaced-Account auf beliebige Domains aufschalten. (in meinem Fall z.B.

Die Installation ist ziemlich einfach:

* bplaced-Konto erstellen
* im bplaced-Konto MySQL-DB erstellen z.b. &#8220;username_blog&#8221;
* WordPress [downloaden](
* entpacken (z.B.: mit [7Zip](
* per ftp-client (z.B.: [FileZilla]( den entpackten Ordner auf den Server hochladen, z.b. in den ordner /blog
* Wenn erwünscht, den hochgeladenen Ordner mit einer Domain verknüpfen (und dann evtl. beim Domainanbieter einen CNAME-Eintrag auf erstellen).
* die URL im Browser eingeben (evtl. muss man vllt. ½h warten, bis die Nameserver & bplaced die neue Konfiguration übernommen haben
* WordPress-Installationsanleitung durchführen und die MySQL-Zugangsdaten eingeben.
* fertig

Plugin- und Theme-Installation muss man händisch machen (Zip-File lokal herunterladen, entpacken und per FTP in den ordner wp-content/plugins bzw. wp-content/themes hochladen).
@@ -0,0 +1,75 @@
id: 15
title: Bash history tricks
date: 2009-08-09T00:50:09+00:00
author: Manuel Reithuber
layout: post
permalink: /2009/08/bash-history-tricks/
- Linux
In addition to the possibility to view/edit your ~/.bash_history manually, I&#8217;ve collected some little tips for the bash history:

* **Hide single commands from the bash history**

If your command line begins with a space character, it won&#8217;t be logged.
* **Log a command for later execution**

If you&#8217;ve just typed a long command line and realized that there&#8217;s other stuff to do before executing it, jump to its beginning (with Pos1) and type &#8216;#&#8217;. The command will then be treated as comment and won&#8217;t be executed. As soon as you&#8217;ve finished running all the other instructions use the history to get back to your comment. Remove the &#8216;#&#8217; and execute it.
* **disable .bash_history file**

one simple way to disable the .bash_history file is to remove the write permission to it:</p> <p class="code">
chmod -w ~/.bash_history

If you first edit your .bash_history file manually you can turn it into a permanent history list with all your favourite commands.</li>

* **use the reverse search**

press Ctrl+R and then enter your search string. To edit the command (and exit the search mode) use tab or one of the position keys.

The reverse-i-search always brings you the first match before the current history position
* **full history processing**

The _history_ command lists the whole saved bash command history.

You could use it e.g. to show the last 10 commands:</p> <p class="code">
history|tail -n 10

or to show all lines containing the word &#8220;ssh&#8221;

<p class="code">
history|grep ssh

* **execute the last matching command**

If you want to run a command several times without scrolling through the history all the time you can use the &#8216;!&#8217; at the start of the line to execute the last line that starts with your search string, e.g.</p> <p class="code">

will re-run the last invocation of ssh</li>

* **clear local history**

To clear the session history (not the one in .bash_history) call</p> <p class="code">
history -c

* **read/write history**

If you have multiple sessions running and want to get the local history of one session to another one, you can use</p> <p class="code">
history -a

to append the local history to .bash_history in the first terminal and

<p class="code">
history -r

in the second terminal to read .bash_history

Those parameters can also be combined (read man bash for detailed information)</li> </ul>
@@ -0,0 +1,37 @@
id: 25
title: Mein neues T-Mobile G1
date: 2009-08-31T12:35:11+00:00
author: Manuel Reithuber
layout: post
permalink: /2009/08/mein-neues-t-mobile-g1/
- Android
Seit Samstag bin ich nun schon stolzer Besitzer eines HTC Dream (oder auch T-Mobile G1), das ich mir per eBay günstig ersteigert habe.

Da auf diesem Handy ein Linux-Derivat (namens Android) installiert ist, war für mich von Anfang an klar, dass ich es irgendwann mal in meinen Händen halten würde ;).

Leider hat das Handy (nicht mehr lange ;)) einen T-Mobile SimLock, wodurch ich mangels T-Mobile SIM mit Datenvertrag anfangs nicht gerade viel mit dem Handy anfangen konnte, da schon der Einrichtungsassistent einen Google-Account voraussetzte, zu dem er sich jedoch nicht verbinden konnte. Erst seit Android v1.5 kann die GMail-Einrichtung auf später verschoben werden (wodurch man vorher die WLAN-Verbindung einrichten kann&#8230;)

Da ich nicht bis zum unlocken (geht erst nach dem Wochenende) warten wollte, um das Smartphone einzusetzen, entschloss ich mich dazu, das Handy mittels händischem Downgrade zu rooten und den Einrichtungsassistent so zu auszutricksen (Anleitung folgt&#8230;). Ein Upgrade auf (irgemd eine Form von) 1.5 sollte danach ja kein Problem mehr sein.

Im Internet habe ich nach kurzer Suche eine Anleitung zur Erstellung einer so genannten Goldcard gefunden, mit der man dem Handy eine beliebige Firmwareversion unterjubeln kann (solange sie signiert ist, aber auch das kann umgangen werden, indem man nach dem rooten einen modifizierten Bootloader installiert).

So fand dann die rc7-Firmware ihren Weg aufs Handy, die den Bug enthielt, dass alle Tastatureingaben im Hintergrund auch an ein root-Terminal gesendet werden. So kann z.b. durch die Eingabe von <enter>reboot<enter> in einem beliebigen Programm ein Soft-Reset durchgeführt werden (oder auch &#8211; wenn man weiß wie &#8211; schon im Einrichtungsassistenten die WLAN-Verbindung konfiguriert werden).

Nachdem ich so das Handy endlich in einen verwendbaren Zustand gebracht habe, fing ich an, mich im Android Market nach sinnvollen Apps umzusehen (mehr dazu auch später in einem eigenen Post).

Nach wenigen Minuten erschien eine Benachrichtigung, dass eine neue Softwareversion zur Verfügung stehe. Ich hab dem Update natürlich sofort zugestimmt, da ich so wieder ein quasi unmodifiziertes Handy hatte, bei dem ich trotzdem ohne Datenverbindung die Einrichtung durchführen und so das Telefon nutzen konnte. Nach dem Update hab ich noch einmal einen Hard Reset durchgeführt, um eine konsistente OS-Basis sicherzustellen.

Wie erwartet ließ sich der Einrichtungsassistent ohne Internetverbindung abschließen und das Handy war (bis auf das vernachläßigbare Detail, dass ich damit noch nicht telefonieren kann&#8230;), einsatzbereit.

Sobald das Geld fürs unlocken ins PayPal überwiesen ist, kann ich dann auch meine geliebte Bob-SIM damit verwenden.

Auf jeden Fall gibts in diesem Blog in Zukunft den einen oder anderen Post zum Thema G1 bzw. Android.

PS.: diesen Eintrag hab ich am G1 mit der Software PostBot verfasst.

<div align="left">
Oops, something went wrong.

0 comments on commit be19891

Please sign in to comment.
You can’t perform that action at this time.