<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Jens Wilkes Blog</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/" />
    <link rel="self" type="application/atom+xml" href="http://blog.wilke.org/jens/atom.xml" />
    <id>tag:blog.wilke.org,2009-07-08:/jens/2</id>
    <updated>2011-11-18T23:40:37Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.23-en</generator>

<entry>
    <title>PgConf.DE 2011</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2011/11/pgconfde-2011.html" />
    <id>tag:blog.wilke.org,2011:/jens//2.30</id>

    <published>2011-11-11T23:04:01Z</published>
    <updated>2011-11-18T23:40:37Z</updated>

    <summary>Auf der ersten deutschsprachigen PostgreSQL Konferenz habe ich einen Vortrag über PostgreSQL Wartungsstrategien gehalten.Die Konferenz ist wohl von allen als großer Erfolg gewertet worden, was sich im Vorfeld erst sehr kurzfristig abzeichnete, bis schließlich die Registrierung sogar 2 Tage vorher...</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
        <category term="PostgreSQL" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="pgconf" label="PGConf" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[Auf der ersten <a href="http://2011.pgconf.de/">deutschsprachigen PostgreSQL Konferenz</a> habe ich einen Vortrag über <a href="http://blog.wilke.org/jens/dl/PgConf.DE_2011_Wartungsstrategien.pdf">PostgreSQL Wartungsstrategien</a> gehalten.<br />Die Konferenz ist wohl von allen als großer Erfolg gewertet worden, was sich im Vorfeld erst sehr kurzfristig abzeichnete, bis schließlich die Registrierung sogar 2 Tage vorher gestoppt werden musste.<br />Es gab sehr interessante Vorträge, leider musste man sich zwischen drei parallel verlaufenden Veranstaltungen entscheiden, was mir wirklich nicht immer leicht fiel.<br />Eine Übesrsicht über alle Vorträge findet sich im <a href="http://wiki.postgresql.org/wiki/German-Speaking_PostgreSQL_Conference_2011">PostgeSQL Wiki</a>.<br />Zwischen den Talks blieb leider kaum Zeit, Kontake zu pflegen. <br />Nichtsdestotrotz eine sehr gelungene Konferenz, die hoffentlich im nächsten Jahr wiederholt wird.<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Restaurant Tip: s`Hegeles</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2011/04/restaurant-tip-shegeles.html" />
    <id>tag:blog.wilke.org,2011:/jens//2.27</id>

    <published>2011-04-22T10:53:32Z</published>
    <updated>2011-04-22T15:42:46Z</updated>

    <summary>Nach einem ziemlich unterirdischen Versuch im vergangenen Jahr, in Kreuzberg schwäbisch zu essen, bin ich ja zunächst skeptisch geworden.Daß sich der Besuch im s`Hegeles in der Nostitzstraße 22 gleich zum einprägsamsten Restaurantbesuch seit dem im U Fanale in Calvi auf...</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
        <category term="Essen &amp; Trinken" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[Nach einem ziemlich unterirdischen Versuch im vergangenen Jahr, in Kreuzberg schwäbisch zu essen, bin ich ja zunächst skeptisch geworden.<br />Daß sich der Besuch im <a href="http://www.hegeles.de/">s`Hegeles</a> in der Nostitzstraße 22 gleich zum einprägsamsten Restaurantbesuch seit dem im <a href="http://www.ufanale.com/">U Fanale </a>in Calvi auf Korsika entwickeln würde, hatte ich also erstmal nicht erwartet.<br />Das Essen war wirklich erstklassig und die Atmosphäre in dem kleinen Restaurant mit offener Küche familiär.<br />Das s`Hegeles ist sehr zu empfehlen. Die Preise sind sehr günstig.<br />Eine Tischreservierung ist wohl meist angebracht.<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>pg_reorg</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2011/04/pg-reorg.html" />
    <id>tag:blog.wilke.org,2011:/jens//2.26</id>

    <published>2011-04-21T21:42:31Z</published>
    <updated>2011-08-13T10:25:07Z</updated>

    <summary>pg_reorg rewrites tables &quot;online&quot;, that means without an appreciable lock like VACUUM FULL or CLUSTER. Unfortunately the documentation uses these terms, which leads to confusion about locking problems.Don&apos;t be confused with the &quot;vacuum full&quot; term. This has nothing to do...</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
        <category term="PostgreSQL" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[<a href="http://pgfoundry.org/projects/reorg/">pg_reorg</a> rewrites tables "online", that means without an appreciable lock like VACUUM FULL or CLUSTER. Unfortunately the documentation uses these terms, which leads to confusion about locking problems.<br />Don't be confused with the "vacuum full" term. This has nothing to do with the postgresql 8.4 "vacuum full" command. (Vacuum full was completly reimplemented in Postgres 9.0 but still does lock the table)<br />Both pg_reorg's "vacuum full" and "cluster" mode do the pretty same thing. They rewrite the table and all their indexes. They use triggers to update the new table during the reorganisation. The only difference is that "cluster" does an additional order by, which probably slows down this mode.<br />Both of them lock the original table at the end of the reorganisation process just for the switch of the rewritten to the active table, which is done by updates of the sytem catalogue. If the lock is not granted within -T seconds, the backends holding locks are canceled and the switch is performed.<br />It's possible to reorg single tables or the whole database at once. <br /><br />Limitations of pg_reorg are: <br />- Tables need to have primary keys.<br />- Additional diskspace is required during the rewrite.<br /><br />I used pg_reorg to reduce bloat after Database splits, to shrink Databases about 50%.<br />This was done using the "unordered" mode.<br />pg_reorg worked to my complete satisfaction for this case.<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Grundlagen der PostgreSQL Administration - Vortrag bei der [Be]LUG</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2011/03/grundlagen-der-postgresql-administration---vortrag-bei-der-belug.html" />
    <id>tag:blog.wilke.org,2011:/jens//2.25</id>

    <published>2011-03-16T22:20:08Z</published>
    <updated>2011-04-21T21:31:55Z</updated>

    <summary>Auf erfreulich großes interesse ist mein Vortrag bei der Belug gestoßen....</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
        <category term="PostgreSQL" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[Auf erfreulich großes interesse ist mein <a href="http://www.belug.de/vortrag_leser/events/Postgres.html">Vortrag bei der Belug</a> gestoßen.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Und es geht doch...</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2009/09/und-es-geht-doch.html" />
    <id>tag:blog.wilke.org,2009:/jens//2.19</id>

    <published>2009-09-29T20:38:25Z</published>
    <updated>2009-09-29T20:51:09Z</updated>

    <summary>Diese kreative Verkehrsführung habe ich auf Korsika fotografiert.Openstreetmap, die freie Geodatenbank/Weltkarte, habe ich übrigens um einige Straßen und Ortschaften auf Korsika erweitert....</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_3506.jpg" src="http://blog.wilke.org/jens/img/img_3506.jpg" class="mt-image-none" style="" height="320" width="240" /></span><br /><br />Diese kreative Verkehrsführung habe ich auf Korsika fotografiert.<br /><a href="http://www.openstreetmap.org/?lat=42&amp;lon=9.11&amp;zoom=8&amp;layers=B000FTF">Openstreetmap</a>, die freie Geodatenbank/Weltkarte, habe ich übrigens um einige Straßen und Ortschaften auf Korsika erweitert.<br /><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Lundia-Regal</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2009/09/lundia-regal.html" />
    <id>tag:blog.wilke.org,2009:/jens//2.18</id>

    <published>2009-09-22T19:11:47Z</published>
    <updated>2009-09-22T21:13:22Z</updated>

    <summary>Ich habe ein Lundia-Regal aus den 70er Jahren, das es bei Lundia nicht mehr gibt.Dieses Regal war vorher sozusagen 2 einzelne Regale. Ich will diese nun zusammenfügen und um ein Mittelelement erweitern.Nachdem sich die Böden, die jemand bei ebay angeboten...</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
    <category term="lundia" label="Lundia" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[Ich habe ein Lundia-Regal aus den 70er Jahren, das es bei Lundia nicht mehr gibt.<br />Dieses Regal war vorher sozusagen 2 einzelne Regale. Ich will diese nun zusammenfügen und um ein Mittelelement erweitern.<br />Nachdem sich die Böden, die jemand bei ebay angeboten hatte,&nbsp; als 4mm zu lang erwiesen haben, habe ich jetzt endlich alle Teile zusammen,um das Regal um ein Zwischenelement zu erweitern.<br />Die Befestigungsschienen, die ich einzeln bekommen habe, sind zwar auch 5mm zu lang, mit Gewalt gehen sie aber gerade so rein.<br />Auf die Nutfräsung verzichte ich großzügig und lege die Böden direkt auf die Schienen.<br />Das erste Brett ist drin, jetzt hoffe ich, daß die 18 € teure Stichsäge noch bei den 5 weiteren Brettern durchhält, dann kann ich die streichen und endlich das Regal einräumen.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="regal.jpg" src="http://blog.wilke.org/jens/img/regal.jpg" class="mt-image-none" style="" height="600" width="450" /></span><br /><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Luigi</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2009/09/luigi.html" />
    <id>tag:blog.wilke.org,2009:/jens//2.17</id>

    <published>2009-09-22T18:46:25Z</published>
    <updated>2009-09-22T20:24:02Z</updated>

    <summary>Denkt bloß nicht, in Mönchengladbach sei nix los!Besonders am Wochenende kann man sich hier kaum auf die Straße trauen.Am letzten Sonntag ging es hier richtig zur Sache.Der Luigi kam unter Feuer mit seinem Eiswagen die Treppe vom alten Markt runterund...</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
    <category term="stuntcobra11" label="Stunt Cobra 11" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[Denkt bloß nicht, in Mönchengladbach sei nix los!<br />Besonders am Wochenende kann man sich hier kaum auf die Straße trauen.<br />Am letzten Sonntag ging es hier richtig zur Sache.<br />Der Luigi kam unter Feuer mit seinem Eiswagen die Treppe vom alten Markt runter<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_4256.jpg" src="http://blog.wilke.org/jens/img/img_4256.jpg" class="mt-image-none" style="" height="480" width="640" /></span><br /><br />und landete direkt vor unserer Haustür, nachdem ihm einer reingefahren ist.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_4282.jpg" src="http://blog.wilke.org/jens/img/img_4282.jpg" class="mt-image-none" style="" height="480" width="640" /></span><br /><br />Später krachte dann noch der silberne Wagen rein und schließlich ist auch noch ein Bus aufgefahren<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_4301.jpg" src="http://blog.wilke.org/jens/img/img_4301.jpg" class="mt-image-none" style="" height="640" width="480" /></span><br /><br />und hat ihn vor sich hergeschoben.<br />Das immer noch fahrtüchtige Ergebnis sah dann so aus:<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="img_4300.jpg" src="http://blog.wilke.org/jens/img/img_4300.jpg" class="mt-image-none" style="" height="480" width="640" /></span><br /><br />Wer einen Fernseher hat, kann die insgesamt 90 Sekunden, für die den ganzen Tag gedreht wurde, dann irgenwann im nächsten Jahr bei Cobra 11 gucken...<br />Soweit möglich wurden die Szenen alle mehrfach wiederholt, damit ich sowohl Fotos als auch Videos machen konnte.&nbsp; Die Videos sind aber zu groß um sie ins Netz zu stellen, ausserdem weiss ich nicht, wie das rechtlich ist.<br />Daß der Wagen umkippt, war laut Zeitungsbericht übrgens gar nicht geplant, soll aber dringelassen werden.<br /><div><br /></div><div><br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Congstar/qsc mit Asterisk</title>
    <link rel="alternate" type="text/html" href="http://blog.wilke.org/jens/2009/07/congstarqsc-mit-asterisk.html" />
    <id>tag:blog.wilke.org,2009:/jens//2.15</id>

    <published>2009-07-17T18:55:15Z</published>
    <updated>2009-09-22T19:23:20Z</updated>

    <summary>Mir ist es nicht gelungen, mit einem VOIP-Telefon hinter einer NAT Firewall über Congstar eingehende Gespräche zu realisieren. Die Dokumentation sowie der Support des Anbieters waren diesbezüglich auch nicht hilfreich.Darum habe ich einen Asterisk aufgesetzt, der auf der öffentlichen IP...</summary>
    <author>
        <name>Jens Wilke</name>
        
    </author>
    
        <category term="IT" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="asteriskcongstar" label="asterisk congstar" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.wilke.org/jens/">
        <![CDATA[Mir ist es nicht gelungen, mit einem VOIP-Telefon hinter einer NAT
Firewall über Congstar eingehende Gespräche zu realisieren. Die
Dokumentation sowie der Support des Anbieters waren diesbezüglich auch
nicht hilfreich.<br />Darum habe ich einen Asterisk aufgesetzt, der auf der
öffentlichen IP läuft und der zwischen meinem internen VOIP-Telefon und
Congstar vermittelt. Nebenbei ist er auch noch meine Voicemailbox.<br /><br />Congstar realisiert VOIP über zwei Dienstleister, die Telekom und qsc.<br />Im folgenden beschreibe ich kurz die Minimalkonfiguration für qsc.<br /><br />extension.conf<br /><blockquote>[general]<br />static=yes<br />writeprotect=no<br />clearglobalvars=no<br /><br />[default]<br /><br />[congstar]<br />include =&gt; default<br />exten =&gt; _0.,1,Dial(SIP/${EXTEN:1},60)<br />exten =&gt; _0.,2,Congestion<br />exten =&gt; _0.,102,Busy<br /><br />[sipclient]<br />include =&gt; default<br />include =&gt; outgoing_calls<br />; Notrufnummern mit 11* ausschliessen<br />exten =&gt; _Z[02-9],1,Dial(SIP/${EXTEN},30,Ttm)<br />exten =&gt; _Z[02-9],n,Hangup<br /><br />;Mailbox mit 250<br />exten =&gt; 250,1,VoiceMailMain(${CALLERID(num)})<br /><br />[incoming_calls]<br />exten =&gt; _0X.,1,Answer()<br />;eingehende Anrufe werden alle an die 20 weitergeleitet<br />exten =&gt; _0X.,n,Dial(SIP/20, 20)<br />exten =&gt; _0X.,n,Goto(s-${DIALSTATUS},1<br />exten =&gt; s-NOANSWER,1,VoiceMail(20,u)<br />exten =&gt; s-BUSY,1,VoiceMail(20,b)<br />exten =&gt; s-ANSWER,1,Hangup()<br />exten =&gt; _s-.,1,Goto(s-NOANSWER,1)<br />;Mailboxmenü mit *<br />exten =&gt; a,1,VoicemailMain(20)<br />exten =&gt; _0X.,n,Hangup<br /><br />[outgoing_calls]<br />exten =&gt; _0X.,1,NoOp()<br />exten =&gt; _0X.,n,Dial(SIP/congstar/${EXTEN})<br />;Notrufnummern<br />exten =&gt; _11X,1,NoOp()<br />exten =&gt; _11X,n,Dial(SIP/congstar/${EXTEN})<br /></blockquote>sip.conf<br /><blockquote>[general]<br />context=incoming_calls<br />register =&gt; *rufnummer*:*passwort*@farm1.tel2.congstar.qsc.de/congstar<br /><br />[congstar]<br />type=friend<br />username=*rufnummer*<br />secret=*passwort*<br />host=farm1.tel2.congstar.qsc.de<br />fromuser=*rufnummer*<br />fromdomain=tel2.congstar.de<br />canreinvite=no<br />qualify=no<br />insecure=port,invite<br />context=incoming_calls<br />allow=all<br /><br />[20]<br />type=friend<br />secret=*passwort*<br />host=dynamic<br />qualify=yes<br />canreinvite=no<br />nat=yes<br />context=sipclient<br /></blockquote><br />voicemail.conf<br /><blockquote>[general]<br />format=wav49|gsm|wav<br />serveremail=asterisk@foo.bar<br />attach=yes<br />skipms=3000<br />maxsilence=10<br />silencethreshold=128<br />maxlogins=3<br />emaildateformat=%A, %B %d, %Y at %r<br /><br />[zonemessages]<br />eastern=America/New_York|'vm-received' Q 'digits/at' IMp<br />central=America/Chicago|'vm-received' Q 'digits/at' IMp<br />central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'<br />military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'<br />european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM<br /><br />[default]<br />20 =&gt; *pin*,Foo Bar,foo@bar.de,,Tz=european<br /></blockquote>]]>
        
    </content>
</entry>

</feed>

