<?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 &#187; Tech</title>
	<atom:link href="http://blog.janbromberger.de/category/tech/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>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>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>

