<?xml version="1.0" encoding="iso-8859-1"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
<?xml-stylesheet type="text/css" href="http://www.jerri.de/blog/"?>
<title type="html">Jerris Weblog</title>
<subtitle type="html">Alles was Jerri auf seiner Reise durch die Welt findet...</subtitle>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog" />
<link rel="self" type="application/atom+xml" href="http://www.jerri.de/blog/atom.xml" />
<updated>2010-06-30T19:12:12+02:00</updated>
<author>
<name>Jerri</name>
<uri>http://www.jerri.de/blog</uri>
</author>
<id>http://www.jerri.de/blog/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.4.2">NanoBlogger</generator>
<entry>
<title type="html">Ein Wochenende mit dem iPad</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/06/28/ein_wochenende_mit_dem_ipad/index.html" />
<id>http://www.jerri.de/blog/archives/2010/06/28/ein_wochenende_mit_dem_ipad/index.html</id>
<published>2010-06-28T09:11:13+02:00</published>
<updated>2010-06-28T09:11:13+02:00</updated>
<category term="Interessant" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Nun habe ich mal ein Wochenende ein iPad testen können, da ich tatsächlich darüber nachgedacht habe, mir eines zu besorgen. Diese Angst habe ich nun nicht mehr, da es doch einige Minus-Punkte hat, die mich davon abhalten Steve Jobs Geld in den Rachen zu werfen:</p>
<ul>
<li>
<strong>Zu schwer:</strong>Mit ca. 700g kann man das iPad in einer Hand nicht sehr lange bequem halten.</li>
<li>
<strong>Auflösung zu klein:</strong>1024x768 ist bei der Größe des Displays lästig, zumal alle Apps die Schriften antialiased darstellen. Sieht erst gut aus, wenn man die meisten Schriften vergrößert. Besonders im Safari.</li>
<li>
<strong>Keine Kamera:</strong>Warum eigentlich nicht, Apple?</li>
<li>
<strong>Kein Multiuser:</strong>Und das ist wirklich lästig. Das iPad hat das Potential zu einem perfekten Wohnzimmer-Rechner. Aber wenn ich jedesmal die App-Konfigurationen ändern muss, wenn ich meine eigenen Daten lesen will (z.B. bei Facebook), dann ist das öde. Von Privatsphäre garnicht zu reden.</li>
</ul>
<p>Das waren nur die offensichtlichsten Probleme, die ich mit dem iPad hatte. Das es dennoch praktisch ist, kann ich nicht leugnen. Es ist ein tolles Spielzeug. Aber kaufen will ich es denoch nicht.</p>
<p>Schade, dass es keine echten Alternativen gibt. Interessant wirkt das 
<a href="http://wetab.mobi/en" target="_blank">WeTab</a>. Leider voraussichtlich erst Ende des Jahres verfügbar.</p>
<p>
<a href="http://wetab.mobi/en" target="_blank">Designed in Germany | WeTab</a>
</p>
</div>
</content>
</entry>
<entry>
<title type="html">Java, MySQL und Classpath...</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/06/14/java_mysql_und_classpath/index.html" />
<id>http://www.jerri.de/blog/archives/2010/06/14/java_mysql_und_classpath/index.html</id>
<published>2010-06-14T14:23:06+02:00</published>
<updated>2010-06-14T14:23:06+02:00</updated>
<category term="Interessant" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
<strong>Wichtige Info</strong>: Wenn eine Java-Applikation mit dem Parameter 
<tt>-jar</tt>gestartet wird, dann werden alle 
<tt>CLASSPATH</tt>-Infos ignoriert, da Java davon ausgeht, dass alle nötigen Informationen im aufgerufenen Jar-Archiv enthalten sind.</p>
<p>Wer dann verzweifelt sucht, warum der MySQL-Connector bei 
<tt>Class.forName()</tt>eine Exception wirft, statt die Datenbank-Klasse zu liefern, der möge sich an die wichtige obere Info erinnern!</p>
</div>
</content>
</entry>
<entry>
<title type="html">Projekt 100, Zeit und Malprogramme...</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/06/03/projekt_100_zeit_und_malprogramme/index.html" />
<id>http://www.jerri.de/blog/archives/2010/06/03/projekt_100_zeit_und_malprogramme/index.html</id>
<published>2010-06-03T20:19:00+02:00</published>
<updated>2010-06-03T20:19:00+02:00</updated>
<category term="bilder" />
<category term="ubuntu" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Mein Ziel, die 100 Bilder in 100 Tage zu schaffen, sind schon mal zu den Akten gelegt. Ich habe einfach nicht genug Zeit. Und jedes Bild braucht momentan noch ziemlich viel Zeit.</p>
<p>Inzwischen bin ich beim 8. Bild und habe damit noch einiges vor mir. Aber es geht langsam vorwärts.</p>
<p>
<img src="http://www.jerri.de/galerie/100/tn/8_monsterportrait.med.png" height="480" width="480" />
</p>
<p>Dieses Mal habe ich das Bild nicht mit 
<a href="http://www.gimp.org/" target="_blank">GIMP</a>erstellt, wie alle vorherigen Bilder, sondern habe mich mal mit 
<a href="http://mypaint.intilinux.com/" target="_blank">MyPaint</a>probiert. Beide Programme sind Open Source und damit frei erhältlich.</p>
<p>MyPaint ist dabei mehr der Versuch, zusammen mit einem Grafiktablett, echte (und sehr unechte) Malwerkzeuge nachzubilden. Das ganze ist nicht so intuitiv wie man denkt, da die Malwerkzeuge natürlich digital anders reagieren, als in Echt. Dennoch kann man mit etwas Übung ganz gut damit umgehen.</p>
<p>Welche Open Source Grafikprogramme könnte ich noch ausprobieren?!</p>
<p>
<a href="http://www.gimp.org/" target="_blank">GIMP - The GNU Image Manipulation Program</a>
</p>
<p>
<a href="http://mypaint.intilinux.com/" target="_blank">MyPaint</a>
</p>
</div>
</content>
</entry>
<entry>
<title type="html">100 Bilder...</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/05/16/100_bilder/index.html" />
<id>http://www.jerri.de/blog/archives/2010/05/16/100_bilder/index.html</id>
<published>2010-05-16T23:47:45+02:00</published>
<updated>2010-05-16T23:47:45+02:00</updated>
<category term="bilder" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<div style="float:right; margin:5px;">
<iframe src="http://rcm-de.amazon.de/e/cm?t=jerriswelt-21&amp;o=3&amp;p=8&amp;l=as1&amp;asins=B002QAA4KI&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p>Jetzt habe ich eigentlich bereits seit meinem Geburtstag mein neues Grafiktablett (Wacom Bamboo Pen and Touch), das mir meine suesse Freundin geschenkt hat, und bin leider bisher noch nicht dazugekommen, es tatsächlich zu benutzen. (Inzwischen habe ich es dank folgenden Links endlich unter ubuntu 10.04 zum Laufen gebracht: 
<a href="http://frankgroeneveld.nl/2010/04/11/get-wacom-bamboo-fun-pen-working-in-ubuntu-lucid/" target="_blank">Get Wacom Bamboo Pen Working in Ubuntu Lucid - Frank Groeneveld</a>)</p>
<p>Daher habe ich mir nun ein Ziel gesetzt um mich etwas mit dem Tablet zu üben: In (ca.) 100 Tagen möchte ich genausoviele Bilder machen, die ich dann in meiner 
<a href="/galerie/">Galerie</a>hier poste.</p>
<p>Ob ich das ganze tatsächlich in 100 Tagen schaffe ist sehr ungewiss. Aber zumindestens die Menge will ich doch schaffen. Mit etwas Glück wird vielleicht sogar mit der Zeit ein Webcomic draus. Aber das wird sich noch zeigen.</p>
<p>Ich präsentiere somit in der Galerie die ersten beiden Bilder aus dem Projekt "100".</p>
<p>
<a href="/galerie/100/">Galerie - 100</a>
</p>
<p>
<a href="/galerie/100/">
<img src="/galerie/100/tn/2_wilder.med.png" height="480" width="480" border="0" />
</a>
</p>
<p>
<a href="http://frankgroeneveld.nl/2010/04/11/get-wacom-bamboo-fun-pen-working-in-ubuntu-lucid/" target="_blank">Get Wacom Bamboo Pen Working in Ubuntu Lucid - Frank Groeneveld</a>
</p>
</div>
</content>
</entry>
<entry>
<title type="html">Bilder vom letzten Theaterstück</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/05/03/bilder_vom_letzten_theaterst_uumlck/index.html" />
<id>http://www.jerri.de/blog/archives/2010/05/03/bilder_vom_letzten_theaterst_uumlck/index.html</id>
<published>2010-05-03T21:13:04+02:00</published>
<updated>2010-05-03T21:13:04+02:00</updated>
<category term="Theater" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Endlich sind die Bilder vom letzten Theaterstück "Jeder kann es gewesen sein" da! Ohne große Wort:</p>
<p>
<a href="http://dolic.com/cpg/thumbnails.php?album=36" target="_blank">dolic.com - Jeder kann es gewesen sein 2010/04/11+12</a>
</p>
</div>
</content>
</entry>
<entry>
<title type="html">Wieder ein Theaterstück...</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/03/12/wieder_ein_theaterst_uumlck/index.html" />
<id>http://www.jerri.de/blog/archives/2010/03/12/wieder_ein_theaterst_uumlck/index.html</id>
<published>2010-03-12T22:29:29+02:00</published>
<updated>2010-03-12T22:29:29+02:00</updated>
<category term="Theater" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Endlich ist es wieder soweit. Am 7., 8., 10. und 11. April bin ich wieder mal auf der Bühne in Puchheim zu sehen in einem Krimi, bei dem es dieses Mal jeder gewesen sein könnte. Mehr Infos zu dem Stück gibt natürlich auf der entsprechenden 
<a href="http://projekte.resistenztheater.de/jeder/" target="_blank">Homepage</a>. Ich würde mich natürlich freuen, viele Freunde und Bekannte bei den Aufführungen zu treffen! Ich glaube, dass es sehr amüsante Abende werden!</p>
<p>
<a href="http://projekte.resistenztheater.de/jeder/" target="_blank">Jeder kann es gewesen sein...</a>
</p>
</div>
</content>
</entry>
<entry>
<title type="html">Reading through strace files - finding file accesses</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/02/06/reading_through_strace_files_-_finding_file_accesses/index.html" />
<id>http://www.jerri.de/blog/archives/2010/02/06/reading_through_strace_files_-_finding_file_accesses/index.html</id>
<published>2010-02-06T13:36:55+02:00</published>
<updated>2010-02-06T13:36:55+02:00</updated>
<category term="Konsole" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>This is more or less a followup to my last blog entry. Still trying to find out about which application is using my hard drive. I experimented some more with strace and learned something about vim search patterns. :)</p>
<p>Suppose you make a strace of a process (e.g. 
<strike>
<tt>ls -l</tt>
</strike>
<tt>vim --help</tt>which outputs the standard vim commandline help) using the following command</p>
<pre>
strace -f -s 4095 vim --help 2&gt;$HOME/tracefile.txt
</pre>
<p>This creates a very large file with all system calls the process did during it's execution. To now find the file accesses in this tracefile you maybe would open this file in vim and then would naïvly search e.g. for the string 
<tt>] open (</tt>to see, which files where opened. Vim search hightlighting would show you all open statements, but you would have to read the file yourself to find the corresponding close statement. Works, but gets very strenously if there are a lot of open-calls.</p>
<p>Now, with the following search-pattern in vim (using search highlighting) you will find the whole block in the trace file; from the beginning open to the ending close-call wonderfully highlighted for a quick overview. (Enter this after pressing 
<tt>/</tt>in command-mode.)</p>
<pre>
] open(.* = \(\d*\)\_.\{-}] close(\1)
</pre>
<p>This pattern uses several new features I never really used before (Which is funny, as I tend to use regular expressions a lot). An example of the block this pattern finds is</p>
<pre>
] open("/usr/share/tcltk/tcl8.4/encoding/iso8859-1.enc", O_RDONLY|O_LARGEFILE) = 5
[pid 14780] fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
[pid 14780] ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb1bfa8) = -1 ENOTTY (Inappropriate ioctl for device)
[pid 14780] read(5, "# Encoding file: iso8859-1, single-byte...", 4096) = 1094
[pid 14780] read(5, "", 4096)           = 0
[pid 14780] close(5)
</pre>
<p>
<b>EDIT:</b>As a reader remarked, my first example in this blog entry with 
<tt>ls -l</tt>is not very good. 
<tt>strace -f -s 4095 ls -l 2&gt;$HOME/tracefile.txt</tt>does not work with the given pattern, as no pid-information is output (it seems strace only outputs pid-information, if the process is multithreaded.). So without the pid-information, the pattern should look like this: 
<tt>^open(.* = \(\d*\)\_.\{-}] close(\1)</tt>. In this case only open and close calls on the main-thread are found. If you omit the first 
<tt>^</tt>in the pattern, the search should still work although it might get mixed up with the string 
<tt>open</tt>inside string-outputs from strace. In summary this blog entry was created way to fast without proper testing. Sorry for this. Hopefully the information in this entry still is of some use.</p>
<h3>backreferencing</h3>
<p>As you can see, the 
<tt>open</tt>call returns a handler id which is used to also 
<tt>close</tt>the access again. Therefore we use 
<tt>\(\d*\)</tt>to mark the first occurrence of the handler at the end of the line and backreference it at the end with 
<tt>\1</tt>. (Using 
<tt>\2</tt>, 
<tt>\3</tt>etc. you also could backreference more than one 
<tt>\(\)</tt>pattern.</p>
<h3>multi line search</h3>
<p>Normal you only search for patterns which can be found on one line. Here we have read over line endings. This is done by using 
<tt>\_.</tt>which is the same as 
<tt>.</tt>but also takes in account line endings.</p>
<h3>greedy search</h3>
<p>I you use the multiplier 
<tt>*</tt>to match more then one character, the longest string matching the atom will be found. For example with the string 
<tt>cabcabcabcab</tt>searching for 
<tt>c.*b</tt>will result in the full string found, as it starts with 
<tt>c</tt>and ends with 
<tt>b</tt>. If you only want to get 
<tt>cab</tt>you have to do a greedy search, which is done by using the multiplier 
<tt>\{-}</tt>. So doing 
<tt>c.\{-}b</tt>will result in finding only 
<tt>cab</tt>.</p>
<h3>addendum</h3>
<p>Be aware that this will not really work good, if the open and close statements are entangled. But it seems to work most of the time.</p>
<p>If you want to learn more about regular expressions in vim just enter 
<tt>:help regular-expression</tt>or 
<tt>:help pattern</tt>inside a vim-session.</p>
<p>Regular expressions can and should also be using in perl, javascript, sed, php, etc. They are very powerful constructs. Unfortunately every system seems to have its own dialect of regular expressions. But if you know the basic structure of regular expressions you learn to cope with the differences really fast.</p>
</div>
</content>
</entry>
<entry>
<title type="html">Inspect hard drive access under linux</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2010/01/31/inspect_hard_drive_access_under_linux/index.html" />
<id>http://www.jerri.de/blog/archives/2010/01/31/inspect_hard_drive_access_under_linux/index.html</id>
<published>2010-01-31T15:32:38+02:00</published>
<updated>2010-01-31T15:32:38+02:00</updated>
<category term="Interessant" />
<category term="Konsole" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Ever wondered which application right now is writing to the hard drive. Currenlty trying to minimize the hard drive usage on my laptop and tried to answer this exact question.</p>
<p>Unfortunately I did not find a tool to exactly tell me which application is currently writing to which file on the harddrive. But a least with the tool 
<tt>iotop</tt>I was able to find out, which application is writing to the hard disc at all. Under ubunto or debian install this simply by invoking</p>
<pre>
apt-get install iotop
</pre>
<p>Like 
<tt>top</tt>this python-application continuously outputs the current processes which are using the hard drive. But you have to be very attentive to catch all applications while this tool is running. To get a better overview of all hard drive activity call the tool with the following parameters:</p>
<pre>
sudo iotop -qqqtaPob
</pre>
<p>This parameters put iotop into a mode where it outputs something like a logfile to the screen. Just let this run in the background, do something on your computer and then check, what tools where using the harddrive. Take a look in the man-pages of 
<tt>iotop</tt>to get the meaning of the parameters.</p>
<p>Now I am looking for a tool to really see to which files a running process currently is writing to. Some tests with 
<tt>strace -f -e trace=file -p PID</tt>where promising but failed if the running process opens the file only once at startup.</p>
<p>Anyone any ideas how to really see what and where a process writes something to the hard drive?</p>
</div>
</content>
</entry>
<entry>
<title type="html">Vim als IDE</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2009/12/18/vim_als_ide/index.html" />
<id>http://www.jerri.de/blog/archives/2009/12/18/vim_als_ide/index.html</id>
<published>2009-12-18T18:09:16+02:00</published>
<updated>2009-12-18T18:09:16+02:00</updated>
<category term="Konsole" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Da ich gerade wieder sehr stark am PHP-Programmieren bin, war ich wieder etwas im Netz unterwegs um Tools und Tipps zur einfacheren Programmierung von tief verschachteltem OOP-PHP-Code zu finden. Dabei habe ich zwei sehr interessante Seiten gefunden.</p>
<p>Zunächst mal 
<a href="http://eclim.org/" target="_blank">Eclim</a>. Das ist ein Plugin sowohl für Vim als auch für Eclipse. Wer normalerweise mit Vim arbeitet, wird Eclipse als ein furchtbar langsames Ungetüm empfinden. Um einige der Funktionalitäten von Eclipse in Vim zu verwenden, aber dabei trotzdem schnell und flexibel zu arbeiten, der wird dieses Plugin mögen. Für Projekte mit tiefer Baumstruktur lohnt es sich definitiv. Auch die automatische Syntax-Pruefung bei Speicherung von php-Dateien ist sehr praktisch. Auch ich habe allerdings die ganze tiefe von Eclim noch nicht durchschaut. Dieses kleine Plugin ist sehr mächtig und der Programmierer Eric Van Dewoestine ist in seiner Mailingliste wahnsinnig schnell beim Beantworten von Fragen.</p>
<p>Ein kleiner Tipp von mir (selbst erst in der Mailing-Liste gelernt). Mit den folgenden beiden Einstellungen, sieht Vim schon beim Start in einem Eclipse-Projekt-Verzeichnis ein bisschen wie eine IDE aus. :)</p>
<pre>
" ProjectTree immer darstellen.
let g:EclimProjectTreeAutoOpen = 1
let g:EclimProjectTreeExpandPathOnOpen = 1
</pre>
<p>Die zweite 
<a href="http://www.koch.ro/blog/index.php?/archives/63-VIM-an-a-PHP-IDE.html" target="_blank">Seite</a>ist eine fantastische Fundgrube an Tools und Ideen für Vim, um hier wirklich IDE-Funktionalität zu erhalten. Vor allem der Tipp mit xdebug und dem Vim-Debugger-Plugin, ist genial. Nur ein bisschen Konfiguration und man kann bequem php-Applikationen debuggen. Und das beste dabei, unter Debian sind die meisten Sachen nur ein 
<tt>apt-get install</tt>weiter entfernt.</p>
<p>Das ganze mag einigen nicht neu vorkommen, aber ich war doch überrascht über die Möglichkeiten, die hier noch zu finden sind. Ich mag Vim einfach!</p>
<p>
<a href="http://eclim.org/" target="_blank">Welcome to Eclim - eclim (eclipse + vim)</a>
</p>
<p>
<a href="http://www.koch.ro/blog/index.php?/archives/63-VIM-an-a-PHP-IDE.html" target="_blank">VIM an a PHP IDE - Thomas Koch</a>
</p>
</div>
</content>
</entry>
<entry>
<title type="html">NanoBlogger-Templates upgedated</title>
<author>
<name>Jerri</name>
</author>
<link rel="alternate" type="text/html" href="http://www.jerri.de/blog/archives/2009/12/07/nanoblogger-templates_upgedated/index.html" />
<id>http://www.jerri.de/blog/archives/2009/12/07/nanoblogger-templates_upgedated/index.html</id>
<published>2009-12-07T09:54:49+02:00</published>
<updated>2009-12-07T09:54:49+02:00</updated>
<category term="Homepage" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
<a href="http://nanoblogger.sourceforge.net/" target="_blank">NanoBlogger</a>hat sich inzwischen ziemlich weiterentwickelt, was mich gezwungen hat, einige Templates neu zu erstellen bzw. anzupassen. Jetzt sollten eigentlich alle Seiten in diesem Blog (auch im Archiv die JahresÃ¼berblicke) wieder korrekt dargestellt werden. Wenn noch jemand eine Seite auf meinem Blog findet, die nicht korrekt aussieht oder falsch verlinkt ist, dann bitte doch bei mir melden!</p>
<p>Ansonsten hier noch ein Link zu einem neuen 
<a href="http://w7x.de/" target="_blank">Blog</a>von einem guten alten Freund. Wobei ich sagen muss, dass die Seite ziemlich dunkel ist (von der Farbe her) und sehr kleine Schrift verwendet (oder ich werde alt. :) )</p>
<p>
<a href="http://nanoblogger.sourceforge.net/" target="_blank">NanoBlogger</a>
</p>
<p>
<a href="http://w7x.de/" target="_blank">w7x - So gehts auch&#8230;</a>
</p>
</div>
</content>
</entry>
</feed>
