<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>[pimp my shell] &#187; meillo</title>
	<atom:link href="http://blog.pimpmyshell.de/author/meillo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pimpmyshell.de</link>
	<description>leben im text-modus</description>
	<lastBuildDate>Thu, 26 Aug 2010 18:04:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Meillos Umzug in die Shell</title>
		<link>http://blog.pimpmyshell.de/2008/01/04/meillos-umzug-in-die-shell/</link>
		<comments>http://blog.pimpmyshell.de/2008/01/04/meillos-umzug-in-die-shell/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 09:52:52 +0000</pubDate>
		<dc:creator>meillo</dc:creator>
				<category><![CDATA[berichte]]></category>
		<category><![CDATA[shells]]></category>
<category>shell berichte</category>
		<guid isPermaLink="false">http://blog.pimpmyshell.de/2008/01/04/meillos-umzug-in-die-shell/</guid>
		<description><![CDATA[Ich bin nicht nur in dieser Community, weil ich ein gewisses Interesse für die Shell habe, sondern auch weil Gregor eben der Auslöser für meinen Umzug in die Shell war! Die meisten von euch dürften wohl wissen, dass Gregor (auch bekannt als Anaxagoras) im Jahr 2005 auf linuxlog.de (das es inzwischen leider nicht mehr gibt), [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin nicht nur in dieser Community, weil ich ein gewisses Interesse für die Shell habe, sondern auch weil Gregor eben der Auslöser für meinen Umzug in die Shell war!<br />
Die meisten von euch dürften wohl wissen, dass Gregor (auch bekannt als Anaxagoras) im Jahr 2005 auf linuxlog.de (das es inzwischen leider nicht mehr gibt), einen tollen Artikel über seinen Umzug in die Shell geschrieben hat.</p>
<p>Wer den Artikel noch nicht kennt, kann ihn <a href="http://blog.pimpmyshell.de/2006/11/19/gnuscreen/">hier</a> noch lesen.</p>
<p>Jedenfalls habe ich, nachdem ich den Artikel gelesen hatte, selbst mit meinem Umzug begonnen.<br />
Und das war eine der besten Entscheidungen meines Lebens! :-)</p>
<p>Früher oder später wäre ich sooderso umgezogen &#8230; Gregors Artikel hat es aber angestoßen und mich sehr motiviert.</p>
<p>Inzwischen fühle ich mich sehr heimisch und wohl in meinem (nun ja nicht mehr ganz so) neuen Zuhause (,denn schon seit über einem Jahr lebe ich inmitten von Text).</p>
<p>Weshalb ich euch das alles erzähle:<br />
Das ist der Hintergrund und die Einführung zu einem Vortrag, den ich im Dezember bei der LUG Ulm gehalten habe.<br />
Darin erzähle ich von der Unix-Philosophie, von eben meinem Umzug in die Shell und vom dynamic window manager &#8220;dwm&#8221;.</p>
<p>Keinesfalls möchte ich vergessen, euch auch an dieser Präsentation teilhaben zu lassen. Deshalb hier also der Link auf die Folien:</p>
<p><a href="http://marmaro.de/docs">Gimme Shellter</a></p>
<p>(Und dieser Artikel auch, um die Aktivität auf pms.de wieder etwas anzuregen: Leute postet mehr Artikel! Diese Website lebt von euren Beiträgen! Auf geht&#8217;s, haut in die Tasten! :-) )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pimpmyshell.de/2008/01/04/meillos-umzug-in-die-shell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>http://emacs.vi</title>
		<link>http://blog.pimpmyshell.de/2007/07/10/httpemacsvi/</link>
		<comments>http://blog.pimpmyshell.de/2007/07/10/httpemacsvi/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 09:07:55 +0000</pubDate>
		<dc:creator>meillo</dc:creator>
				<category><![CDATA[vim]]></category>
		<category><![CDATA[webseiten]]></category>
<category>fun tld vi</category>
		<guid isPermaLink="false">http://blog.pimpmyshell.de/2007/07/10/httpemacsvi/</guid>
		<description><![CDATA[Wenn man mal die Liste der vergebenen Top-Level-Domains (TLDs) durchgeht, insbesondere die Länderspezifischen, dann werden sich dem UNIX-begeisterten Leser schon bald seine Augen weiten. Der Grund dafür: .vi Eigentlich für die amerikanischen Jungferninseln gedacht &#8230; aber vielleicht bald auch unter Zweckentfremdungen zu finden. Jedenfalls wenn dieser Beitrag von vi-Liebhabern mit übrigen 35$ pro Jahr gelesen [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man mal die Liste der vergebenen <a href="http://de.wikipedia.org/wiki/Top-Level-Domain">Top-Level-Domains</a> (TLDs) durchgeht, insbesondere die Länderspezifischen, dann werden sich dem UNIX-begeisterten Leser schon bald seine Augen weiten.</p>
<p>Der Grund dafür: <strong>.vi</strong><br />
<span id="more-99"></span><br />
Eigentlich für die amerikanischen Jungferninseln gedacht &#8230; aber vielleicht bald auch unter <a href="http://de.wikipedia.org/wiki/Top-Level-Domain#Zweckentfremdungen">Zweckentfremdungen</a> zu finden. Jedenfalls wenn dieser Beitrag von vi-Liebhabern mit übrigen 35$ pro Jahr gelesen wird.</p>
<p>http://<strong>love.vi</strong> ist noch nicht registriert!</p>
<p>&#8230; ihr wisst ja: wer zuerst kommt malt zuerst. Also hopp-hopp, denn mit der Veröffentlichung dieses Artikels weiß es die ganze Welt &#8230; könnte sie zumindest.</p>
<p>(Registriert werden kann übrigens über <a href="http://nic.vi">nic.vi</a>, wie allgemein üblich.)</p>
<p>&#8230; und für ambivalente Menschen (insbesondere Liebhaber von `vile&#8217; oder des `viper-modes&#8217;) könnte durchaus auch http://<strong>emacs.vi</strong> interessant sein &#8211; ebenfalls nicht registriert.</p>
<p>wie gesagt, man muss halt schnell sein &#8230; denn bald sind sie weg &#8211; bestimmt!</p>
<p><em>und das &#8230; muss &#8230; für heute &#8230;. reichen!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pimpmyshell.de/2007/07/10/httpemacsvi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The mighty make</title>
		<link>http://blog.pimpmyshell.de/2007/04/26/the-mighty-make/</link>
		<comments>http://blog.pimpmyshell.de/2007/04/26/the-mighty-make/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 16:23:49 +0000</pubDate>
		<dc:creator>meillo</dc:creator>
				<category><![CDATA[programme]]></category>
<category>make</category>
		<guid isPermaLink="false">http://blog.pimpmyshell.de/2007/04/26/the-mighty-make/</guid>
		<description><![CDATA[`make&#8217; ist eines dieser Programme zu denen auch `screen&#8217; und der `vim&#8217; gehören &#8212; Existenz wahrgenommen, soll einiges können, aber nie selbst eingearbeitet. Diejenigen aber die diese Programme in ihren Workflow aufgenommen haben, können nicht mehr ohne! make introduction Früher hatte ich mir irgendwelche fertigen Makefiles zusammenkopiert und angepasst. Vor ein paar Monaten habe ich [...]]]></description>
			<content:encoded><![CDATA[<p>`make&#8217; ist eines dieser Programme zu denen auch `screen&#8217; und der `vim&#8217; gehören &#8212; Existenz wahrgenommen, soll einiges können, aber nie selbst eingearbeitet. Diejenigen aber die diese Programme in ihren Workflow aufgenommen haben, können nicht mehr ohne!</p>
<p><code>make introduction</code></p>
<p>Früher hatte ich mir irgendwelche fertigen Makefiles zusammenkopiert und angepasst. Vor ein paar Monaten habe ich mich dann aber mal etwas intensiver mit make befasst und bin nun regelrecht begeistert von diesem mächtigen Tool.</p>
<p><strong>Ich möchte hier eine kleine Einführung und einige Anregungen geben make doch auch mal einzusetzen.</strong> Es gibt so viele Anwendungsbereiche dafür und ein paar möchte ich hier vorstellen.</p>
<p>Wie make im Einzelnen funktioniert und was dies oder das genau bedeutet kann in Manpages, dem WWW und Büchern nachgelesen werden. Wenn man sich selbst damit befasst, versteht man auch und kann nicht nur.</p>
<p><code>make desire-for-more</code></p>
<p>make kann weit mehr als nur Quellcode kompilieren. Natürlich kann es das auch und zwar höchst effizient und bequem.</p>
<p>make kann aber auch alles was ein Shellscript kann &#8211; make ist quasi ein Shellscript.</p>
<p>make gibt es (fast) überall &#8230; auch auf Windows</p>
<p><code>make overview</code></p>
<p>Makefiles bestehen aus einzelnen <em>Targets</em> die dem Befehl `make&#8217; als Parameter übergeben werden können.<br />
Die übergebenen Targets (und ihre Abhängigkeiten) werden automatisch ausgeführt.</p>
<p>Wenn eine Datei mit gleichem Namen wie das übergebene Target existiert und aktuell ist, dann wird das Target nicht ausgeführt.<br />
Aktuell sein heißt dabei, dann keine ihrer Abhängigkeiten jünger als sie ist.</p>
<p>Wird kein Target übergeben, dann wird automatisch das Erste ausgeführt.</p>
<p><code>make compile</code></p>
<p>Für das Kompilieren heißt das nun, dass nur kompiliert wird, wenn es notwendig ist. Also wenn eine Source-Datei jünger als die Binary ist.<br />
Am Besten lässt man (beim gcc) die Zwischenobjekte *.o auch erstellen, dann werden auch nur diejenigen neu kompiliert bei denen sich die Sourcen auch verändert haben. Die Anderen werden nur gelinkt.<br />
Auf diese Weise kann man sich (gerade bei größeren Programmen) recht viel Zeit sparen.</p>
<p>Der zweite große Grund für make ist die gewisse Vergesslichkeit die (besonders) bei Programmierern schon mal vorkommt.<br />
Da möchte man ein altes Projekt neu kompilieren und muss grübeln welche Libs man dazu linken muss, u.ä.<br />
Steht der Compileraufruf aber im Makefile, dann reicht auch nach Jahren noch ein simples `make clean all&#8217; aus</p>
<p>Da Makefiles ja auch (fast) nur Shellscripte sind, können auch Targets wie &#8216;clean&#8217; (normalerweise: entfernt alle automatisch erzeugten Dateien) eingebaut werden.</p>
<p>`make clean all&#8217; würde also alle *.o und die Binary löschen und danach das Programm komplett neue kompilieren. (Das Target &#8216;all&#8217; wird üblicherweise als Erstes aufgeführt und kompiliert das komplette Programm)</p>
<p>Wie zu sehen ist gibt es Targets mit gängigen Namen und Funktionen (`make install&#8217; düfte ja bekannt sein). Wichtig ist dabei nur, dass es im Verzeichnis keine Dateien mit exakt diesen Namen gibt, da diese sonst als aktuell angesehen werden könnten und make das Target somit überspringt.</p>
<p>Um nicht jedesmal mein Makefile von Grund auf neu schreiben zu müssen, habe ich mal ein <a href="http://blog.pimpmyshell.de/uploads/2007/04/makefile.txt"><em>Allgemeines Makefile</em></a> erstellt, das für quasi jedes C/C++-Programm verwendbar ist. (Zumindest als Grundlage). Einfach in das Projekt kopieren und die Variable SRC korrekt setzen.</p>
<p><code>make pdf</code></p>
<p>Ein weiteres Anwendungsgebiet bei dem Makefiles äußerst nützlich sind, ist das Erstellen von Dokumenten mit LaTeX.</p>
<p>Okay das ist letztendlich auch nur Kompilieren &#8230; aber zugegeben, wer hat an den Einsatz von Makefiles dabei schon gedacht?</p>
<p>Denkbare Targets wären hier:<br />
- all: einmaliger Durchlauf<br />
- complete: dreimaliger Durchlauf (für Inhaltsverzeichnis und korrekte Seitenzahlen)<br />
- show: öffnen des fertigen Dokuments im Viewer (äußerst praktisch)<br />
- clean: immer gut<br />
- &#8230;</p>
<p>Mein <a href="http://blog.pimpmyshell.de/uploads/2007/04/makefile_pdf.txt">Beispiel-Makefile</a> hierzu ist schon etwas älter und deshalb auch recht simpel. Hier ließe sich deutlich mehr herausholen (auch im Bezug auf Teilkompilierungen). Ich hatte nur bisher keine Lust es neu aufzusetzen ;-P</p>
<p><code>make upload</code></p>
<p>Weshalb denn nicht Webdesign-Projekte per Makefile (via ncftpput) hochladen?</p>
<p><code>make backup</code></p>
<p>Oder Backup auf diese Weise erledigen. Makefiles sind schließlich auch Shellscripte &#8230;. mit bereits eingebauter Argumentauswertung.</p>
<p><code>make nice-hint</code></p>
<p>Makefiles kann man im Vim einfach durch `:make [targets]&#8216; ausführen &#8230; der Editor muss dazu nicht geschlossen werden. Das ist doch deutlich komfortabler als Strg+z und `fg&#8217;.</p>
<p><code>make final-words</code></p>
<p>make ist klasse!<br />
make ist mächtig!<br />
make ist omnipotent! ;-)</p>
<p><code>apt-get install make</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pimpmyshell.de/2007/04/26/the-mighty-make/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
