<?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>Blogberger</title>
	<atom:link href="http://blog.janbromberger.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.janbromberger.de</link>
	<description>Meinungen und Wahrheiten</description>
	<lastBuildDate>Mon, 17 Oct 2011 10:39:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SSD in MacBook Pro einbauen, Apple-Ersatzteile bestellen</title>
		<link>http://blog.janbromberger.de/2011/10/ssd-in-macbook-pro-einbauen-apple-ersatzteile-bestellen/</link>
		<comments>http://blog.janbromberger.de/2011/10/ssd-in-macbook-pro-einbauen-apple-ersatzteile-bestellen/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 10:39:56 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=92</guid>
		<description><![CDATA[SSD macht MBP superschnell, Apple ersatzteile online gefunden]]></description>
			<content:encoded><![CDATA[<p class="first">CPU, Internet, Speicherplatz in Festplatten und Arbeitsspeicher &#8211; das alles ist in den letzten Jahren exponentiell schneller oder größer geworden. Nur die Zugriffszeiten der Festplatten haben in dieser Zeit wenig zugelegt und bilden so heute einen Flaschenhals für viele Anwendungen. Wer mehr Geld in die Hand nehmen kann, kann hier mit dem Kauf einer Solid State Disk (anstelle einer klassischen Festplatte) enorme Geschwindigkeitsschübe erreichen.</p>
<p>Ich habe gerade meinen alten MacBook Pro 5.1 mit einer solchen Platte aufgerüstet und bin begeistert. Die <a href="http://eshop.macsales.com/item/Other%20World%20Computing/SSD2MX480/">480GB große SSD</a> kostet mit US$859 plus Zoll ein Vielfaches einer konventionellen Festplatte, ist aber auch ein vielfaches schneller.</p>
<p>Ursprünglich wollte ich die SSD zusätzlich zu meiner alten HDD anstelle des optischen Laufwerks einbauen. OWC hat dafür ein DIY Kit. Beim Aus- oder Einbau ist mir jedoch leider der orangene SATA Connector kaputtgegangen, der das DVD-Laufwerk mit dem Mainbiard verbindet.</p>
<p>Sowohl der Apple Store, als auch Gravis wollten mir das Ersatzteil nicht verkaufen und hätten für das Bestellen und den Einbau wucherhafte Preise verlangt. Apple möchte nicht, dass wir unsere Geräte selbst öffnen &#8211; offenbar damit wir ja keine günstigere Hardware von anderen Anbietern kaufen und um uns ihren teuren Service verkaufen zu können. Mein <a href="http://www.ifixit.com/MacBook-Parts/MacBook-Pro-15-Inch-Unibody-Late-2008-Early-2009-SATA-SuperDrive-Cable/IF161-019">Ersatzteil</a> habe ich nun für weniger als die Hälfte bei ifixit.com aus den USA bestellt.</p>
<p>Außerdem musste ich einen neuen Akku einbauen, da der alte so sehr angeschwollen war, dass er von innen gegen die Unterseite des Trackpads drückte und dieses damit ständig dachtem es würde (von mir) gedrückt. Hier hatte ich erst einen Akku eines anderen Herstellers gekauft. Leider ging damit mein Laptop einfach aus, sobald der Natteriestand niedrig war, anstatt mit 10 Minuten vorab zu warnen und dann in den Schlafmodus zu gehen. Glücklicher Weise habe ich jedoch bei Amazon auch einen Originalakku gefunden, der für ein drittel des Preises angeboten wurde, den ich im Apple Store oder bei Gravis gezalt hätte.</p>
<p>Alles in allem hat Apple ein tolles Betriebssystem, aber ihre Geschäftspraktiken finde ich immer wieder extrem ärgerlich. Ich hoffe die obigen Links helfen jemandem dabei, sich diesen zu entziehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2011/10/ssd-in-macbook-pro-einbauen-apple-ersatzteile-bestellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Autorenblog</title>
		<link>http://blog.janbromberger.de/2010/07/amazon-autorenblog/</link>
		<comments>http://blog.janbromberger.de/2010/07/amazon-autorenblog/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 09:10:45 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=76</guid>
		<description><![CDATA[Ich habe einen Autorenblog bei Amazon. ]]></description>
			<content:encoded><![CDATA[<p class="first">Nur ein kurzer Hinweis in eigener Sache: Ich habe jetzt einen <a title="Jan Bromberger Autorenblog Amazon" href="http://www.amazon.com/Jan-Bromberger/e/B003VY41ZW">Autorenblog bei Amazon</a>. So einen Blog kann man sich einrichten, wenn man ein Buch geschrieben hat, welches im Katalog von Amazon.com vertreten ist. Während des Studiums am CDTM schreibt jede Klasse zusammen ein Buch in Form eines Trend Reports. Das Buch war zwar bisher nicht im Katalog, aber mit einem Account als Profiseller, kann man dem Katalog auch selbst Artikel hinzufügen. Die Einrichtung der eigenen Seite im Author Central dauert dann einige Tage.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/07/amazon-autorenblog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter als Sitemap</title>
		<link>http://blog.janbromberger.de/2010/03/twitter-als-sitemap/</link>
		<comments>http://blog.janbromberger.de/2010/03/twitter-als-sitemap/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 14:31:13 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Heimathonig.de]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[zwangsversteigerung.ma]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=67</guid>
		<description><![CDATA[Auf Twitter gepostete Links werden von Google schneller indiziert.]]></description>
			<content:encoded><![CDATA[<p class="first">Im Beitrag <a href="http://www.seomoz.org/ugc/using-twitter-as-a-sitemap">Using Twitter as a Sitemap</a>, wird im YOUmozBlog dargelegt, dass obwohl auf Twitter gepostete Links mit nofollow getaggt sind, Google diese Links zur Indizierung verwendet &#8211; und dass die Indizierung sogar schneller abläuft, als über eine interne Verlinkung.</p>
<p>Da meine Seite mit Thema <a href="http://www.zwangsversteigerung.ma/">Zwangsversteigerung</a> jeden Tag im großen Stil neue Seiten Produziert und ich mit der derzeitigen Indizierung trotz XML Sitemap noch nicht zufrieden bin, probiere ich dieses Vorgehen jetzt einmal aus. Unter <a href="http://twitter.com/immo_zvg">twitter.com/immo_zvg</a> werden seit heute laufend neue Immobilien-Versteigerungen aus Ballungszentren verlinkt.</p>
<p>Bei Erfolg, kann ich mir das in einer weniger spammigen Art auch sehr gut für Heimathonig.de, unserem neuen Angebot für <a href="http://www.heimathonig.de/">Honig</a> vom Imker vorstellen. Wenn wir also neue Imkerporträts oder neue Honigsorten in unser Angebot aufnehmen, wird man das vermutlich auf <a href="http://twitter.com/Heimathonig">twitter.com/Heimathonig</a> erfahren können.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/03/twitter-als-sitemap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zwangsversteigerungen auf dem iPhone</title>
		<link>http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/</link>
		<comments>http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 13:34:21 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Aloqa]]></category>
		<category><![CDATA[Heimathonig.de]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[zwangsversteigerung.ma]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=52</guid>
		<description><![CDATA[Aloqa stellt Zwangsversteigerungen auf iPhone und Android dar.]]></description>
			<content:encoded><![CDATA[<p class="first">Zwei Bekannte von mir arbeiten bei <a href="http://www.aloqa.com/">Aloqa</a> und haben gefragt, ob ich die Zwangsversteigerungen nicht auch über diese Plattform auf iPhone und Android bringen möchte. Die Umsetzung war erstaunlich einfach und hat nicht mehr als eine Stunde gedauert. Jetzt ist es also noch einfacher, die passende <a href="http://www.zwangsversteigerung.eu/">Zwangsversteigerung</a> zu finden. Und demnächst vielleicht auch <a href="http://www.heimathonig.de/">Honig vom Imker in der Region</a>?</p>

<a href='http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/img_0454/' title='Listenansicht'><img width="150" height="150" src="http://blog.janbromberger.de/wp-content/uploads/IMG_0454-150x150.PNG" class="attachment-thumbnail" alt="" title="Listenansicht" /></a>
<a href='http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/img_0455/' title='Detailansicht'><img width="150" height="150" src="http://blog.janbromberger.de/wp-content/uploads/IMG_0455-150x150.PNG" class="attachment-thumbnail" alt="" title="Detailansicht" /></a>
<a href='http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/img_0457/' title='Kartenansicht'><img width="150" height="150" src="http://blog.janbromberger.de/wp-content/uploads/IMG_0457-150x150.PNG" class="attachment-thumbnail" alt="" title="Kartenansicht" /></a>
<a href='http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/img_0456/' title='Webansicht'><img width="150" height="150" src="http://blog.janbromberger.de/wp-content/uploads/IMG_0456-150x150.PNG" class="attachment-thumbnail" alt="" title="Webansicht" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/02/zwangsversteigerungen-auf-dem-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schülerüberwachung per Webcam &#8211; jetzt wird ermittelt</title>
		<link>http://blog.janbromberger.de/2010/02/schuleruberwachung-per-webcam-jetzt-wird-ermittelt/</link>
		<comments>http://blog.janbromberger.de/2010/02/schuleruberwachung-per-webcam-jetzt-wird-ermittelt/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 13:11:51 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[Kurioses]]></category>
		<category><![CDATA[kurzgebloggt]]></category>
		<category><![CDATA[überwachung]]></category>
		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=46</guid>
		<description><![CDATA[In Pennsylvania sollen Schulen ihre Schüler zu Hause über Webcams überwacht haben.]]></description>
			<content:encoded><![CDATA[<p class="first">Die Geschichte ist unglaublich. In Pennsylvania sollen Schulen ihre Schüler zu Hause über die Webcams von 1.800 Macbooks überwacht haben. Eltern reichten inzwischen Klage ein. Jetzt hat die Staatsanwaltschaft laut <a href="http://www.golem.de/1002/73277.html">Golem.de</a> ihre Ermittlungen begonnen:</p>
<p style="padding-left: 30px;">Die Eltern erfuhren von der mutmaßlichen Überwachung, als ihr 15-jähriger Sohn Blake, der zur Harriton High School geht, im November 2009 einen Verweis wegen <em>&#8220;ungebührlichen Verhaltens in seiner Wohnung&#8221;</em> bekam. Als Beweis wurde ein Foto vorgelegt, das von seinem Macbook aufgenommen wurde.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/02/schuleruberwachung-per-webcam-jetzt-wird-ermittelt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mitschrift Götz Werner Grundeinkommen</title>
		<link>http://blog.janbromberger.de/2010/02/mitschrift-gotz-werner-grundeinkomme/</link>
		<comments>http://blog.janbromberger.de/2010/02/mitschrift-gotz-werner-grundeinkomme/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 14:41:17 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[Gesellschaft]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=35</guid>
		<description><![CDATA[Freiheit ist ohne das Grundeinkommen nicht zu realisieren. Und Gleichheit ist auch nicht möglich, wenn andere von uns abhängig sind. Freiheit, Gleichheit, Grundeinkommen.]]></description>
			<content:encoded><![CDATA[<p class="first">Dies ist eine Mitschrift zum Vortrag von Prof. Götz Werner am 11.09.2009 auf dem Kongress Grundeinkommen in München. Es ist eine lose Sammlung, teilweise wörtlich, teilweise paraphrasiert und vereinzelt Sätze, die Herr Werner selbst zitiert. Der Vortrag kann als DVD bestellt werden auf <a href="http://www.grundeinkommenskongress.de/">www.grundeinkommenskongress.de</a>.</p>
<p>Diese Mitschrift wurde zum Artikel <a href="http://www.ruebenbankett.de/2010/02/freiheit-gleichheit-grundeinkomme/">Freiheit, Gleichheit, Grundeinkommen</a> beim <a href="http://www.ruebenbankett.de/">Rübenbankett</a> verarbeitet.</p>
<p>Die Gemeinschaft ist dazu da, dass Verhältnisse geschaffen werden, dass Menschen ihr Leben gestalten können.</p>
<p>Die Idee der Ehe: Man ergänzt sich und gestaltet dadurch ein Leben.</p>
<p>Freiheit, Gleichheit, Brüderlichkeit.</p>
<p>Die konstruktive Unzufriedenheit mit den herrschenden Umständen ist die Voraussetzung für Innovation, für das Neue.</p>
<p>Trachte ich danach, die Freiheit meines Partners zu vergrößern oder versuche ich, die Freiheit meines Partners einzuschränken?</p>
<p>Warum sind wir nicht gewillt, auch dem anderen Menschen zu unterstellen, dass er das Richtige tun wird? Sie können keine Gesellschaft bilden, wenn Sie den anderen nicht für voll nehmen.</p>
<p>Bei Licht betrachtet, kann &#8220;Vertrauen ist gut, Kontrolle ist besser&#8221; nur heißen: Vertrauen für mich, Kontrolle für Sie. Wie wollen Sie eine Gemeinschaft begründen, wo Menschen ihren Lebensweg finden, wenn Sie sagen: Vertrauen für mich, Kontrolle für dich?<span id="more-35"></span></p>
<p>Grundeinkommen heißt nicht &#8220;Nimm die bereitgestellte Hängematte und verschwinde in den Wald!&#8221; sondern Grundeinkommen heißt &#8220;Wir schenken dir Zutrauen und jetzt zeig mal, was du kannst!&#8221;.</p>
<p>Erst, wenn wir mit Freude auch der bösen Nachbarin ein Grundeinkommen gönnen können, die so ganz anders ist, als wir, dann können wir das erst einführen.</p>
<p>Das Grundeinkommen ist ein Kulturimpuls. Das Grundeinkommen wird unsere Kultur dramatisch verändern.</p>
<p>Man kann niemanden überzeugen. Überzeugen kann man nur sich selbst.</p>
<p>Die Briefmarke wurde nicht von der Post erfunden, sondern von einem Nutzer der Post.</p>
<p>Wenn Wind aufkommen, bauen manche Schutzwälle und manche Windräder.</p>
<p>Die Idee des bedingungslosen Grundeinkommens muss an der Basis beginnen und je höher sie in die politische Hierarchie steigt, desto größer wird er Widerstand.</p>
<p>Wenn wir sagen &#8220;Wenn jemandem eine Arbeit angeboten wird, muss er sie auch nehmen&#8221; verabschieden wir uns vom Artikel zwölf des Grundgesetzes, das sagt &#8220;Zwangsarbeit ist in Deutschland verboten&#8221;.</p>
<p>Freiheit ist nicht, tun und lassen zu können, was man will, sondern Freiheit ist die Fähigkeit, nicht tun zu müssen, was man soll.</p>
<p>Freiheit ist ohne das Grundeinkommen nicht zu realisieren. Und Gleichheit ist auch nicht möglich, wenn andere von uns abhängig sind.</p>
<p>Kennen Sie diese vielen Fälle, diese Opferrollen in Ihrer Umgebung? &#8220;Wenn meine Eltern mich damals gelassen hätten, was ganz anderes hätte ich gemacht.&#8221; &#8220;Wenn ich es mir leisten könnte, mich von meinem Mann zu trennen, längst hätte ich es gemacht.&#8221; &#8220;Wenn ich es mir leisten könnte, mir einen anderen Arbeitsplatz zu suchen, würde ich mir schon längst nen anderen Arbeitsplatz suchen.&#8221; Merken Sie, was da für eine Lebensdramatik dahinter steckt? Da sind Menschen 20 Jahre im gleichen Unternehmen, obwohl sie da garnicht arbeiten möchten. Nur weil sie das Geld brauchen. Hat so jemand einen Arbeitsplatz? In der Statistik ja, in der Realität nein. Der hat nur einen Einkommensplatz.</p>
<p>Großes Dilemma in unserer Gesellschaft: die vielen Menschen, die sich mit ihrer Arbeit nicht identifizieren können, die sich mit ihrer Lebenssituation nicht identifizieren können. Und wenn nur diese Menschen die Möglichkeit hätten zu sagen: Ja es liegt an mir, dass ich nicht mache, was ich eigentlich machen will, dann hätten wir schon eine andere Situation. Stellen Sie sich mal vor: Es liegt an mir, dass ich mach, was ich eigentlich nicht will.</p>
<p>Freiheit, Gleichheit, Grundeinkommen</p>
<p>Mit welcher Begründung, leisten wir uns Kinderarmut? Warum leisten wir uns Altersarmut? Das müssen wir nicht, wenn es so viel Güter gibt, wie wir sie im Moment hervorbringen und auch in Zukunft hervorbringen werden. Kinderarmut kann nur dumm sein, das fällt uns ja ganz böse auf die Füße. Und Altersarmut kann nur grober Undank sein.</p>
<p>In einer Gesellschaft, wie der heutigen, stehen wir immer auf den Schultern der vorangegangenen Generation. Es ist nicht so, dass uns die Alten auf der Tasche liegen. Die Alten haben uns in die Lage versetzt, dass wir uns selbst und sie mit finanzieren können. Infrastruktur, Produktionsmittel, Wissen&#8230;.</p>
<p>Das Grundeinkommen muss so hoch sein, dass jeder würdevoll leben kann, nicht so hoch, wie wir es übrig haben.</p>
<p>Hartz IV ist wie offener Strafvollzug.</p>
<p>Da haben wir ein Problem in unserer Gesellschaft, dass wir tatsächlich meinen, wir leben vom Geld. Niemand lebt vom Geld. Wir leben alle von den Gütern und Dienstleistungen, die wir herstellen. Und wir haben natürlich genügend Güter, um denjenigen, die jetzt weniger haben, als das, was wir als Grundeinkommen dann definieren, das aufzustocken. Auch wenn Sie zu uns in den Drogeriemarkt kommen, müssen Sie nicht befürchten, dass Sie jemandem etwas wegkaufen.</p>
<p>Stellen Sie sich vor, man würde den Jugendlichen heute ein Handy verkaufen und da stünde drauf: &#8220;Fasse Dich kurz!&#8221;</p>
<p>&#8220;Alles, was produziert werden kann, ist auch finanzierbar, vorausgesetzt, wir haben den ehrlichen Willen dazu.&#8221;</p>
<p>In der früheren Selbstversorgungswirtschaft, musste derjenige, der die Steuern zahlt, der also ein Zehnt abgab, sie auch tragen. Das Zehnt fehle ihm auf dem Teller. Wer in unserer heutigen Gesellschaft steuern zahlt, trägt sie nicht. Der Harz-IV-Empfänger zahlt keine Steuern, trägt sie aber. Weil wir die Steuern immer in unsere Preise kalkulieren. Getragen werden die Steuern vom Verbraucher. Wenn es mir in meinem Unternehmen nicht mehr gelingt, meine Steuern in die Preise einzukalkulieren, bin ich pleite. Und wenn ich pleite bin, muss ich keine Steuern mehr bezahlen. Wenn ich die Steuern in meine Preise einkalkuliere, und keiner kauft, dann bleibe ich drauf sitzen. Wenn ich drauf sitzen bleibe, mache ich Verluste und wenn ich Verluste mache, muss ich keine Steuern bezahlen. Das ist aber in unserem Denken heute noch nicht angekommen. Wenn Sie durch dieses gedankliche Nadelöhr erstmal durch sind, dann kommen Sie zur Konsumsteuer.</p>
<p>Die Konsumsteuer ist die Steuer der Konsumgesellschaft und der internationalen Arbeitsteilung, genannt Globalisierung. Und weil wir uns in dieser neuen Realität, der Konsumgesellschaft und der internationalen Arbeitsteilung, immernoch so verhalten wie früher, haben wir auhc solche Probleme damit. Deswegen gehen die Arbeitsplätze weg, deswegen wandert das Kapital ab. Wenn Sie sich mal reinträumen, was es heißt, Konsumsteuer, dann würde das heißen: keine Steuerflucht, keine Spesenritter. Wir würden Kapital anziehen. Die Arbeit würde endlich wieder attraktiv. Keiner würde auf die Idee kommen, Arbeit ins Ausland zu verlegen. Ich kann Ihnen nur sagen: Sie können nirgends so effizient Produzieren, wie in Deutschland &#8211; Infrastruktur, Bildungsstand, etc. Es ist nur unser Steuersystem &#8211; ein selbst gemachtes Problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/02/mitschrift-gotz-werner-grundeinkomme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alumniverein erstellt Projektverzeichnis</title>
		<link>http://blog.janbromberger.de/2010/01/alumniverein-erstellt-projektverzeichnis/</link>
		<comments>http://blog.janbromberger.de/2010/01/alumniverein-erstellt-projektverzeichnis/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 09:43:23 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[LMU]]></category>
		<category><![CDATA[LMU Alumni Informatik]]></category>
		<category><![CDATA[zwangsversteigerung.ma]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=29</guid>
		<description><![CDATA[Der LMU Alumni Informatik e.V. eröffnet mit seinem neuen Verzeichnis SEO-Chancen.]]></description>
			<content:encoded><![CDATA[<p class="first">Mit seinem neuen <a href="http://alumni.ifi.lmu.de/index.php?id=41">Projektverzeichnis</a> bietet der <a href="http://alumni.ifi.lmu.de/">LMU Alumni Informatik e.V.</a> seinen Mitgliedern seit kurzem die Möglichkeit, eigene Unternehmen und Projekte den anderen Alumni und der Internetgemeinschaft an sich vorzustellen. Auch aus SEO-Sicht können gerade Unternehmen wie <a href="http://www.zwangsversteigerung.eu/">Zwangsversteigerung.EU</a> sich über die Möglichkeit, hier einen <a href="http://alumni.ifi.lmu.de/index.php?id=43">vollwertigen redaktionellen Artikel</a> zu platzieren, freuen. Nicht nur, dass der Webauftritt des Vereins über einen hervorragenden PageRank von 6 verfügt, die Nähe zur Universität sollte auch einen sehr guten Trust bieten.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/01/alumniverein-erstellt-projektverzeichnis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 5, Ruby on Rails, Apache, FastCGI/FCGI</title>
		<link>http://blog.janbromberger.de/2010/01/centos-5-ruby-rails-apache-fastcgi-fcgi/</link>
		<comments>http://blog.janbromberger.de/2010/01/centos-5-ruby-rails-apache-fastcgi-fcgi/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 09:11:20 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=13</guid>
		<description><![CDATA[Meine Installationsschritte für Apache, Ruby on Rails, fcgi, mod_fastcgi, rmagick auf CentOS 5]]></description>
			<content:encoded><![CDATA[<p class="first">Für ein neues Projekt haben wir gestern bei 1&amp;1 einen Server bestellt. Es war CentOS 5 vorinstalliert. Das Projekt wird in Ruby on Rails entwickelt. Hier sind meine Installationsschritte:</p>
<p>Erstmal alles auf den neuesten Stand bringen:</p>
<pre>yum upgrade
yum install lynx bc gcc make</pre>
<p><span id="more-13"></span></p>
<p>Mein frisch installierter Server hatte Probleme mit dem Auflösen mancher Domains. Das lag an dem via DHCP bezogenen Nameserver.</p>
<p>Als nächstes habe ich die MySQL-Tuning-Einstellungen von meinem anderen Server übernommen. Ich werde hier nicht ins Detail gehen (wird wohl ein anderer Artikel), aber empfehle als Einstieg das <a href="http://day32.com/MySQL/tuning-primer.sh">Tuning Primer Script</a>, welches bc benötigt.</p>
<pre>touch /var/log/mysqld-slow-queries.log
chown mysql.mysql /var/log/mysqld-slow-queries.log
vi /etc/my.cnf
/etc/init.d/mysqld restart</pre>
<p>Dann User und Datenbank einrichten für das Rails-Projekt.</p>
<p>Dann kümmern wir uns mal um <a href="http://www.fastcgi.com/dist/">FastCGI</a> bzw. fcgi. Achtung: Wir haben ein 64bit-System. Daher steht unten /usr/lib64/httpd &#8211; für 32bit durch /usr/lib/httpd ersetzen.</p>
<pre>yum install libtool httpd-devel apr apr-devel apr-util-devel emacs-common
cd ~
wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar xvzf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure
make
make install</pre>
<p>Und nun mod_fastcgi</p>
<pre>cd ~
wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar xvzf mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
make top_dir=/usr/lib64/httpd
make install top_dir=/usr/lib64/httpd
vi /etc/httpd/conf.d/mod_fastcgi.conf</pre>
<p>Dort nur eine Zeile reinschreiben:</p>
<pre>LoadModule fastcgi_module modules/mod_fastcgi.so</pre>
<p>Packete, die wir für Ruby oder Gems brauchen werden:</p>
<pre>yum install mysql-devel readline-devel</pre>
<p>Ruby installieren. Ich wollte eine aktuellere Version, als die, die ich mit yum install ruby bekommen hätte. Die <a href="http://rubyonrails.org/download">Rails</a>-Seite empfielt immer eine Ruby-Version, also warum nicht diese verwenden? Ich habe mein ruby auf anderen Servern in /usr/local/bin/ruby und wollte es hier deshalb auch so haben. Warum es auf den anderen Servern so ist, weiss ich nicht mehr. <img src='http://blog.janbromberger.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre>cd ~
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
tar xzvf ruby-1.8.7-p174.tar.gz
cd ruby-1.8.7-p174
./configure --prefix=/usr/local
make
make install</pre>
<p><span style="color: #008000;">Edit: Auf dem neuen Server reichte das aus, um script/console zum laufen zu bekommen. Auf dem alten Server (selber Hoster, selbes OS, &#8230;) nicht. Hier half dies:</span></p>
<pre>
<pre><span style="color: #008000;">cd ~/ruby-1.8.7-p174/ext/readline
ruby extconf.rb
make
make install </span></pre>
</pre>
<p>So, jetzt her mit <a href="http://rubyforge.org/frs/?group_id=126">Rubygems</a> (aktuelle Version nachsehen!) und ein par Gems.</p>
<pre>cd ~
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
tar xzvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
ruby setup.rb
gem install rails -v 2.3.5
gem install mysql
gem install fcgi</pre>
<p>Jetzt das Projekt installieren. Ich habe meine Projekte in Subversion. Git geht natürlich auch. CVS geht schon lange nicht mehr.</p>
<pre>yum install subversion
cd /var/www/vhosts
svn co &lt;Dein Projekt&gt;
cd &lt;Dein Projekt&gt;
chown apache.apache -R .
rake db:migrate RAILS_ENV=production
rake db:seed RAILS_ENV=production</pre>
<pre>vi /etc/httpd/conf.d/&lt;Dein Projekt&gt;.conf</pre>
<pre>&lt;VirtualHost &lt;Deine Server-IP&gt;:80&gt;
 ServerAdmin &lt;Deine E-Mail-Adresse&gt;
 DocumentRoot /var/www/vhosts/&lt;Dein Projekt&gt;/public/
 ServerName www.&lt;Dein Projekt&gt;
 ServerAlias &lt;Dein Projekt&gt;
 ErrorLog logs/&lt;Dein Projekt&gt;-error_log
 CustomLog logs/&lt;Dein Projekt&gt;-access_log common

 &lt;Directory /var/www/vhosts/&lt;Dein Projekt&gt;/public&gt;
   Options ExecCGI FollowSymLinks
   AllowOverride all
   Order allow,deny
   Allow from all
 &lt;/Directory&gt;

 FileETag MTime Size

 AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript application/x-javascript text/css
 BrowserMatch ^Mozilla/4 gzip-only-text/html
 BrowserMatch ^Mozilla/4.0[678] no-gzip
 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
&lt;/VirtualHost&gt;</pre>
<p>Für meine Projekte brauche ich eigentlich immer rmagick. Es gab/gibt memory leaks in rmagick, die man mit vorsichtigem Coden vermeiden kann. Bitte schaut euch auch Alternativen wie minimagick an. Ich installiere ImageMagick erst per yum, um Abhängigkleiten nicht alle einzeln eingeben zu müssen, deinstalliere es dann aber wieder und installiere eine deutlich neuere Version per Hand.</p>
<pre>cd ~
yum install ImageMagick ImageMagick-devel libpng libpng-devel freetype freetype-devel giflib giflib-devel
yum erase ImageMagick ImageMagick-devel
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzvf ImageMagick.tar.gz
cd ImageMagick-6.5.8-10
./configure</pre>
<p>Hier die Gelegenheit nutzen, um zu schauen, ob alle Grafikformate aktiv sind, die man benötigt. Sonst gegebenenfalls die Nötigen Bibliotheken installieren und nochmal ./configure laufen lassen.</p>
<pre>make
make install
gem install rmagick</pre>
<p>Ach ja und nicht vergessen:</p>
<pre>apachectl restart</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2010/01/centos-5-ruby-rails-apache-fastcgi-fcgi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Validate (X)HTML and CSS in Rails functional tests</title>
		<link>http://blog.janbromberger.de/2009/12/validate-xhtml-and-css-in-rails-functional-tests/</link>
		<comments>http://blog.janbromberger.de/2009/12/validate-xhtml-and-css-in-rails-functional-tests/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 13:08:48 +0000</pubDate>
		<dc:creator>Jan Bromberger</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://blog.janbromberger.de/?p=4</guid>
		<description><![CDATA[With a handy plugin, you can validate (X)HTML and CSS in your functional tests. Unfortunately, the plugin broke in Rails 2.3.x. Here's how to fix it.]]></description>
			<content:encoded><![CDATA[<p class="first">With a handy plugin written by Peter Donald, you can <a href="http://www.realityforge.org/articles/2006/03/15/rails-plugin-to-validate-x-html-and-css">validate (X)HTML and CSS in your Rails functional tests</a>.The plugin requires the XmlSimple gem. Make sure to install it:</p>
<pre>sudo gem install xml-simple</pre>
<p>Then, in your functional tests, you can write:</p>
<pre>test "valid markup" do
  get :index
  assert_valid_markup
end</pre>
<p>Unfortunately, the plugin broke somewhere around Rails 2.3.x, but I figured out how to fix it pretty fast. Here&#8217;s what made it work for me.<span id="more-4"></span></p>
<p>At the top of the file vendor/plugins/assert-valid-asset/lib/assert_valid_asset.rb insert:</p>
<pre>require 'xmlsimple'</pre>
<p>Replace</p>
<pre><em>class Test::Unit::TestCase</em></pre>
<p>with</p>
<pre>class ActionController::TestCase</pre>
<p>and replace</p>
<pre>def process_with_auto_validate(action, parameters = nil, session = nil, flash = nil)
  response = process_without_auto_validate(action,parameters,session,flash)</pre>
<p>with</p>
<pre>def process_with_auto_validate(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
  response = process_without_auto_validate(action,parameters,session,flash,http_method)</pre>
<p>This should get you up and running.</p>
<p>The original error messages were:</p>
<pre>/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method': undefined method `process' for class `Test::Unit::TestCase' (NameError)
 from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method_chain'
 from /Users/janbromberger/Documents/Projects/zvg/vendor/plugins/assert-valid-asset/lib/assert_valid_asset.rb:38
 from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
 from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
 from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:158:in `require'
 from /Users/janbromberger/Documents/Projects/zvg/vendor/plugins/assert-valid-asset/init.rb:1:in `evaluate_init_rb'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:146:in `evaluate_init_rb'
 from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:142:in `evaluate_init_rb'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:48:in `load'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:38:in `load_plugins'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:in `each'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:in `load_plugins'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:348:in `load_plugins'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:163:in `process'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in `send'
 from /opt/local/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in `run'
 from /Users/janbromberger/Documents/Projects/zvg/config/environment.rb:10
 from ./test_helper.rb:2:in `require'
 from ./test_helper.rb:2
 from functional/welcome_controller_test.rb:1:in `require'
 from functional/welcome_controller_test.rb:1</pre>
<p>This is fixed by extending class ActionController::TestCase.</p>
<pre>ArgumentError: wrong number of arguments (5 for 4)</pre>
<p>This is fixed by appending the http_method = &#8216;GET&#8217; parameter to process_with_auto_validate.</p>
<pre>NameError: uninitialized constant ActionController::TestCase::XmlSimple</pre>
<p>This is fixed by installing and requiring XmlSimple.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.janbromberger.de/2009/12/validate-xhtml-and-css-in-rails-functional-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

