<?xml version="1.0" encoding="iso-8859-15" standalone="yes"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">

<title type="text/html" mode="escaped">Lebenshilfe für Pragmatiker</title>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/0" ></link>
<id>http://pragmatiker.net/0</id>
<info type="text/html" mode="escaped">Hilfreiche Tipps für alle Berufs-Pragmatiker</info>
<updated>2008-02-12T13:03:04+01:00</updated>
<modified>2008-02-12T13:03:04+01:00</modified>




<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">S3 HTTPForbidden 403 Forbidden</title>
<id>http://pragmatiker.net/2/viewentry/5748</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5748"></link>

<content type='html'>
&lt;p&gt;Net::HTTPForbidden 403 Forbidden readbody=true
oder ähnliche Antworten vom S3 ?&lt;/p&gt;

&lt;p&gt;S3 verlangt &lt;a href=&quot;http://www.worldtimeserver.com/current_time_in_UTC.aspx&quot;&gt;UTC/GMT&lt;/a&gt; +- 15min&lt;/p&gt;

&lt;p&gt;sudo date mmddhhii (z.B. 02282245)&lt;/p&gt;

&lt;p&gt;auf UTC/GMT einstellen oder &lt;a href=&quot;http://nixtechnica.blogspot.com/2006/09/how-to-synchronize-time-with-ntp.html&quot;&gt;timeserver abfrage einbauen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;dann Server neustarten und nochmal probieren&lt;/p&gt;

</content>

<updated>2008-02-12T13:03:04+01:00</updated>
<modified>2008-02-12T13:03:04+01:00</modified>
<issued>2008-02-12T13:03:04+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Die Pasta-Code Theorie</title>
<id>http://pragmatiker.net/2/viewentry/5744</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5744"></link>

<content type='html'>
&lt;p&gt;Jeder kennt ja &lt;strong&gt;Spaghetti-Code&lt;/strong&gt; als Umschreibung für schwer zu verstehende, nicht wartbare Software.
Aber viele kennen nicht die 2 anderen wichtigen Pfeiler der Pasta-Code Theorie. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lasagne-Code&lt;/strong&gt; beschreibt Software die eine einfache, verständliche und geschichtete Architektur hat. Obwohl strukturiert, ist sie ein riesen Block. Eine Schicht zu verändern, klingt oft einfach, ist aber schwer in der Praxis.&lt;/p&gt;

&lt;p&gt;Die ideale Software Struktur ist der &lt;strong&gt;Ravioli-Code&lt;/strong&gt;, er besteht aus kleinen, nahrhaften und unabhängigen Teilen. Diese Teile haben ein simples Interface zur Außenwelt und kapseln ihre Informationen. Somit kann jedes Teil ersetzt werden ohne das Gesamtsystem zu beeinflussen.&lt;/p&gt;

&lt;p&gt;Guten Appetit!&lt;/p&gt;

&lt;img src=&quot;http://pragmatiker.net/alotta/user/pragmatiker.net/img/000/012/12165.jpg&quot;  alt=&quot;Die Pasta-Code Theorie&quot;&gt;</content>

<updated>2008-02-02T10:31:43+01:00</updated>
<modified>2008-02-02T10:31:43+01:00</modified>
<issued>2008-02-02T10:31:43+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Cannot find gem for Rails x.x.x  aber es ist installiert</title>
<id>http://pragmatiker.net/2/viewentry/5738</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5738"></link>

<content type='html'>
&lt;p&gt;Cannot find gem for Rails 2.0.2. Install the missing gem with ....&lt;/p&gt;

&lt;p&gt;Aber alles war installiert...&lt;/p&gt;

&lt;p&gt;Kann schon mal passieren wenn man rails mit apt-get install rails und einmal mit gem install rails geholt hat.&lt;/p&gt;

&lt;p&gt;nano .profile
  PATH += &quot;:/var/lib/gems/1.8/bin&quot;
und apt-get remove rails rake mongrel ....&lt;/p&gt;

</content>

<updated>2008-01-30T09:13:41+01:00</updated>
<modified>2008-01-30T09:13:41+01:00</modified>
<issued>2008-01-30T09:13:41+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">restful_authentification Installation mit Kinderkrankheiten...</title>
<id>http://pragmatiker.net/2/viewentry/5736</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5736"></link>

<content type='html'>
&lt;p&gt;restful_authentification ist ganz gut, aber hat einige Bugs...&lt;/p&gt;

&lt;p&gt;Erfolgreich installieren:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/&lt;/li&gt;
&lt;li&gt;script/generate authenticated user session --include-activation  &lt;/li&gt;
&lt;li&gt;!sessions &amp;lt;-&gt; session!  &lt;/li&gt;
&lt;li&gt;alle sessions sachen in session umbenennen(controller/view)  &lt;/li&gt;
&lt;li&gt;routes.rb:         map.resources :users / :session löschen, das macht nur Ärger (nicht angemeldete Actions können nicht geladen werden etc. (meist: &#039;Unknown action No action responded to show&#039;)) &lt;a href=&quot;http://www.ruby-forum.com/topic/140001&quot;&gt;umgehen&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;db/migrate/xxx&lt;em&gt;create&lt;/em&gt;users.rb &lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;
t.column :activation_code, :string
t.column :activated_at, :datetime
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;wenn mails nicht gehn erstmal mit user/activate?activation&lt;em&gt;code=CODE&lt;/em&gt;AUS&lt;em&gt;DB&lt;/em&gt;LESEN aktivieren  &lt;/li&gt;
&lt;li&gt;in view/session/new
     &amp;lt;% form_tag session_path do -%&gt; --&gt; &amp;lt;% form_tag &#039;create&#039; do -%&gt; sonst: undefined local variable or method `session_path&#039; (genause im user/new)&lt;/li&gt;
&lt;li&gt;environment.rb :   config.active_record.observers = :user_observer #oder wie das Model heißt, dann kommen auch die Mails&lt;/li&gt;
&lt;/ul&gt;

</content>

<updated>2008-01-29T15:07:34+01:00</updated>
<modified>2008-01-29T15:07:34+01:00</modified>
<issued>2008-01-29T15:07:34+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">ffmpeg komplett &amp; einfach installieren (Ubuntu Gutsy 7.10)</title>
<id>http://pragmatiker.net/2/viewentry/5730</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5730"></link>

<content type='html'>
&lt;p&gt;Nach langem Hin und Her hab ich ffmpeg besiegt! &lt;/p&gt;

&lt;p&gt;Am besten alte version &lt;strong&gt;komplett deinstallieren&lt;/strong&gt; wenn sowas wie &quot;unknown codec aac&quot; bzw. &quot;unknown codec libfaac&quot; kommt, &lt;strong&gt;und neu beginnen&lt;/strong&gt;.
Denn bei meinem falsch installierten ffmpeg version, half das &#039;einfach drüber installieren&#039; nicht, ich musste erst alles entfernen und neu installieren.&lt;/p&gt;

&lt;div style=&quot;width:500px;overflow:auto&quot;&gt;
&lt;pre&gt;
sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list
sudo apt-get install w32codecs
sudo apt-get install ffmpeg

nano encode.sh
    #!/bin/bash
    ffmpeg -y -i &quot;$1&quot; -v 1 -threads 1 -vcodec h264 -b 500 -bt 175 -refs 2 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -partb8x8 1 -me full -subq 6 -brdo 1 -me_range 21 -chroma 1 -slice 2 -level 13 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq &#039;blurCplx^(1-qComp)&#039; -qcomp 0.7 -qmax 35 -qdiff 4 -i_qfactor 0.71428572 -b_qfactor 0.76923078 -maxrate 768k -bufsize 244k -cmp 1 -s 640x480 -acodec aac -ab 96 -ar 48000 -ac 2 -f mp4 -pass 1 &quot;$2&quot;
    ffmpeg -y -i &quot;$1&quot; -v 1 -threads 1 -vcodec h264 -b 500 -bt 175 -refs 2 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -partb8x8 1 -me full -subq 6 -brdo 1 -me_range 21 -chroma 1 -slice 2 -level 13 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq &#039;blurCplx^(1-qComp)&#039; -qcomp 0.7 -qmax 35 -qdiff 4 -i_qfactor 0.71428572 -b_qfactor 0.76923078 -maxrate 768k -bufsize 244k -cmp 1 -s 640x480 -acodec aac -ab 96 -ar 48000 -ac 2 -f mp4 -pass 2 &quot;$2&quot;
sh encode.sh in.avi out.avi
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Tipp: Threads auf 2 setzen (= 2 CPUs benutzen) macht es nur 20% schneller!&lt;br /&gt;
Tipp #2: auf &lt;a href=&quot;https://help.ubuntu.com/community/Medibuntu&quot;&gt;medibuntu.org&lt;/a&gt; gibts Anweisungen für 64bit / PPC / ältere Versionen&lt;/p&gt;

</content>

<updated>2008-01-23T18:54:18+01:00</updated>
<modified>2008-01-23T18:54:18+01:00</modified>
<issued>2008-01-23T18:54:18+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Joes Goals</title>
<id>http://pragmatiker.net/1/viewentry/5685</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/1/viewentry/5685"></link>

<content type='html'>
&lt;p&gt;&lt;a href=&quot;http://www.joesgoals.com/&quot;&gt;Schönes kleines Tool&lt;/a&gt; um die aktuellen Ziele besser im Auge zu behalten, und sich selber belohnen zu können wenn man etwas gut macht/etwas lange durchhält.&lt;/p&gt;

&lt;p&gt;Zudem gibts dieses formschöne Banner (s. Links) um den aktuellen Satus auch auf der Homepage anzuzeigen und sich durch öffentlichen Druck noch mehr zu motivieren.&lt;/p&gt;

&lt;p&gt;(am besten gleich für Version 2.0 anmelden)&lt;/p&gt;

&lt;img src=&quot;http://pragmatiker.net/alotta/user/pragmatiker.net/img/000/010/10054.jpg&quot;  alt=&quot;Joes Goals&quot;&gt;</content>

<updated>2008-01-02T06:29:57+01:00</updated>
<modified>2008-01-02T06:29:57+01:00</modified>
<issued>2008-01-02T06:29:57+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Die eigene Eclipse Distribution - Pulse</title>
<id>http://pragmatiker.net/2/viewentry/5656</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5656"></link>

<content type='html'>
&lt;p&gt;Ein sehr schönes &lt;a href=&quot;http://www.poweredbypulse.com/&quot;&gt;Tool&lt;/a&gt; um sich eine eigene Distrubution, komplett mit allen Plugins und Einstellungen anzulegen und dann mit sich selber/anderen zu teilen!&lt;/p&gt;

&lt;p&gt;Das einmal definierte Eclipse &lt;strong&gt;Paket kann überall runtergeladen/installiert werden&lt;/strong&gt;! &lt;strong&gt;Nie wieder Shortcuts definieren/Farben/Tabs einstellen&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;Ist immer aktuell dank autoupdate und frist nicht unnötig Platz da jedes Plugin nur inmal runtergeladen/gespeichert wird (&lt;strong&gt;d.h. 3 Eclipse Versionen nur 1 SVN Plugin auf der Platte&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;Zudem kann man sein &lt;strong&gt;Paket&lt;/strong&gt; auch noch mit Mitarbeitern/Freunden problemlos &lt;strong&gt;teilen&lt;/strong&gt; und hat so nie das &#039;hast du auch die Version die ich habe&#039; Problem.&lt;/p&gt;

&lt;p&gt;Derzeit &lt;strong&gt;noch&lt;/strong&gt; Beta und &lt;strong&gt;wenige Plugins&lt;/strong&gt; verfügbar, aber auf jedenfall brauchbar/im Auge behalten!&lt;/p&gt;

&lt;p&gt;PS: auf der &lt;a href=&quot;http://www.poweredbypulse.com/&quot;&gt;Seite &lt;/a&gt;gibt es auch ein paar schöne Videos zur Demonstration.&lt;/p&gt;

&lt;img src=&quot;http://pragmatiker.net/alotta/user/pragmatiker.net/img/000/009/9932.jpg&quot;  alt=&quot;Die eigene Eclipse Distribution - Pulse&quot;&gt;</content>

<updated>2007-12-12T14:56:27+01:00</updated>
<modified>2007-12-12T14:56:27+01:00</modified>
<issued>2007-12-12T14:56:27+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Töten mit Bürotechnik</title>
<id>http://pragmatiker.net/1/viewentry/5640</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/1/viewentry/5640"></link>

<content type='html'>
&lt;p&gt;Wieder mal das Radio zu laut oder der Nebenmann nervt sonst irgendwie ? Kein Problem, die Lösung liegt doch so nah &lt;a href=&quot;http://blog.shoplet.com/office-supplies/office-supplies-that-can-kill-you/&quot;&gt;Waffen aus Bürobedarf&lt;/a&gt;!&lt;/p&gt;

</content>

<updated>2007-11-29T18:36:24+01:00</updated>
<modified>2007-11-29T18:36:24+01:00</modified>
<issued>2007-11-29T18:36:24+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Code Review mit Eclipse</title>
<id>http://pragmatiker.net/2/viewentry/5636</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5636"></link>

<content type='html'>
&lt;p&gt;Das einzig kostenlose und einigermaßen funktionierende Tool dafür: &lt;a href=&quot;http://www.devx.com/enterprise/Article/31658&quot;&gt;Jupiter&lt;/a&gt;&lt;br /&gt;
  &lt;strong&gt;Update-Site&lt;/strong&gt;: http://csdl.ics.hawaii.edu/Tools/Jupiter/Download&lt;br /&gt;
Funktioniert gut, fügt Kommentare im Editor ein, erlaubt mehrere gleichzeitige Reviews auf dem selben Code.&lt;/p&gt;

&lt;p&gt;Einziger Nachteil:&lt;br /&gt;
Die Kommentare werden in einem Ordner als XML gespeichert, laut Anleitung soll man den einchecken, was aber Wahnsinn ist da für jeden Kommentar eine extra Revision angelegt werden müsste.  &lt;/p&gt;

&lt;p&gt;Also entweder:&lt;br /&gt;
Reviews einschränken(jeder darf nur einmal kommentieren und commiten)&lt;br /&gt;
oder: einen Samba Server aufsetzen, der für alle Team Mitglieder erreichbar ist, und alle Reviews zu einen Projekt enthält.&lt;/p&gt;

&lt;img src=&quot;http://pragmatiker.net/alotta/user/pragmatiker.net/img/000/009/9908.jpg&quot;  alt=&quot;Code Review mit Eclipse&quot;&gt;</content>

<updated>2007-11-22T12:34:23+01:00</updated>
<modified>2007-11-22T12:34:23+01:00</modified>
<issued>2007-11-22T12:34:23+01:00</issued>
</entry>


<entry>
<author><name>Michael Kleiner</name></author>
<title type="html" mode="escaped">Code Review 1Book -&gt; 1 Page</title>
<id>http://pragmatiker.net/2/viewentry/5635</id>
<link rel="alternate" type="text/html" href="http://pragmatiker.net/2/viewentry/5635"></link>

<content type='html'>
&lt;p&gt;Short summary of a cisco case study:&lt;br /&gt;
We believe our results allow us to conclude the following:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LOC under&lt;/strong&gt; review should be under &lt;strong&gt;200&lt;/strong&gt;, not to exceed 400. Anything larger overwhelms reviewers and defects
are not uncovered.&lt;/li&gt;
&lt;li&gt;Inspection rates &lt;strong&gt;less than 300 LOC/hour&lt;/strong&gt; result in best defect detection. Rates under 500 are still good; expect to miss significant percentage of defects if faster than that.&lt;/li&gt;
&lt;li&gt;Authors who &lt;strong&gt;prepare the review with annotations and
explanations&lt;/strong&gt; have far fewer defects than those that do not.
We presume the cause to be that authors are forced to
self-review the code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total&lt;/strong&gt; review time should be &lt;strong&gt;less than 60 minutes&lt;/strong&gt;, not exceed 90. Defect detection rates plummet after that time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expect defect rates around 15 per hour&lt;/strong&gt;. Can be higher
only with less than 175 LOC under review.&lt;/li&gt;
&lt;li&gt;Left to their own devices, reviewers’ inspection rate will vary widely, even with similar authors, reviewers, files, and size of the review.&lt;/li&gt;
&lt;/ul&gt;

</content>

<updated>2007-11-19T18:57:43+01:00</updated>
<modified>2007-11-19T18:57:43+01:00</modified>
<issued>2007-11-19T18:57:43+01:00</issued>
</entry>




</feed>