<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Edmund Haselwanter's Blog Feed</title>
    <link>http://edmund.haselwanter.com/de/rss/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>The main blog feed for my Web site.</description>
    
    
    
        <item>
          <title>Kein Back-To-My-Mac - Verwende VNC über SSH</title>
          <description>&lt;p&gt;Wiedereinmal far-far-away und etwas am Rechner im Firmen-, oder Heimnetzwerk vergessen? Kein Problem solange man den &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; Server Dienst einem immer laufenden Mac im Netz laufen hat.&lt;/p&gt;&lt;p&gt;Zuerst brauchen wir einen &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; Tunnel für die &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; Verbindung:&lt;/p&gt;
&lt;code lines=&quot;table&quot; lang=&quot;ruby&quot;&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;line-numbers&quot;&gt;   1 &lt;/span&gt; 
&lt;span class=&quot;line-numbers&quot;&gt;   2 &lt;/span&gt; ssh &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;NfL&lt;/span&gt; &lt;span class=&quot;Constant&quot;&gt;5900&lt;/span&gt;:&lt;span class=&quot;Constant&quot;&gt;127.0&lt;/span&gt;.&lt;span class=&quot;Constant&quot;&gt;0.1&lt;/span&gt;:&lt;span class=&quot;Constant&quot;&gt;5900&lt;/span&gt; user&lt;span class=&quot;Variable&quot;&gt;&lt;span class=&quot;Variable&quot;&gt;@&lt;/span&gt;remote&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;host&lt;/span&gt;
&lt;span class=&quot;line-numbers&quot;&gt;   3 &lt;/span&gt; 
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;Dann müssen wir am Zielrechner noch die Verwendung mit einem &amp;#8220;normalen&amp;#8221; &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; Client konfigurieren.&lt;br /&gt;
Also mit &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; auf den Rechner und&lt;/p&gt;
&lt;code lines=&quot;table&quot; lang=&quot;ruby&quot;&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;line-numbers&quot;&gt;   1 &lt;/span&gt; 
&lt;span class=&quot;line-numbers&quot;&gt;   2 &lt;/span&gt; sudo sudo &lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;Library&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;CoreServices&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;RemoteManagement&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;ARDAgent&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;Contents&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;Resources&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;kickstart \ 
&lt;span class=&quot;line-numbers&quot;&gt;   3 &lt;/span&gt; &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;configure &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;activate &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;clientopts &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;setvnclegacy &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;vnclegacy yes &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;setvncpw &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;vncpw &lt;span class=&quot;Variable&quot;&gt;MY_VNC_PASSWORD&lt;/span&gt;
&lt;span class=&quot;line-numbers&quot;&gt;   4 &lt;/span&gt; 
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;Und schon kann man mit einem &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; Client wie beispielsweise Chicken of the &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; den Graphischen Desktop des entfernten Rechners unter &lt;code&gt;localhost&lt;/code&gt; erreichen.&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/osx&quot; rel=&quot;tag&quot;&gt;osx&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/vnc&quot; rel=&quot;tag&quot;&gt;vnc&lt;/a&gt;</description>
          <pubDate>Sat, 23 Apr 2011 00:00:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/en/blog/2011/04/23/kein-back-to-my-mac---verwende-vnc-ueber-ssh/</guid>
          <link>http://edmund.haselwanter.com/en/blog/2011/04/23/kein-back-to-my-mac---verwende-vnc-ueber-ssh/</link>
        </item>
    
        <item>
          <title>Data Driven Deployment of a Java Web Application with Chef Solo and Vagrant</title>
          <description>&lt;h2&gt;Chef Application Cookbook Showcase&lt;/h2&gt;
&lt;p&gt;This &lt;a href=&quot;http://vagrantup.com&quot;&gt;Vagrant&lt;/a&gt; project on github ( &lt;a href=&quot;https://github.com/iteh/vagrant-demos/tree/master/vagrant-java-application&quot;&gt;https://github.com/iteh/vagrant-demos/&lt;/a&gt; ) showcases the &lt;a href=&quot;http://www.opscode.com/blog/2010/05/06/data-driven-application-deployment-with-chef/&quot;&gt;application cookbook for chef&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;read on &lt;a href=&quot;http://www.iteh.at/en/blog/2011/04/16/data-driven-deployment-of-a-java-web-application-with-chef-solo/&quot;&gt;iteh.at&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/java&quot; rel=&quot;tag&quot;&gt;java&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/ruby&quot; rel=&quot;tag&quot;&gt;ruby&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/vagrant&quot; rel=&quot;tag&quot;&gt;vagrant&lt;/a&gt;</description>
          <pubDate>Sat, 16 Apr 2011 00:00:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/en/blog/2011/04/16/data-driven-deployment-of-a-java-web-application-with-chef-solo-and-vagrant/</guid>
          <link>http://edmund.haselwanter.com/en/blog/2011/04/16/data-driven-deployment-of-a-java-web-application-with-chef-solo-and-vagrant/</link>
        </item>
    
        <item>
          <title>Vagrant, Virtualbox, Chef und Apache2</title>
          <description>&lt;p&gt;Auf der &lt;a href=&quot;http://www.iteh.at/de/blog/2010/12/05/vagrant-sind-sie-bereit-ihren-umgang-mit-it-infrastruktur-zu-revolutionieren/&quot;&gt;iTeh Seite gibt es einen neuen Artikel zu Vagrant&lt;/a&gt;, chef-solo und Virtualbox.&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/chef&quot; rel=&quot;tag&quot;&gt;chef&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/opschef&quot; rel=&quot;tag&quot;&gt;opschef&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/opscode&quot; rel=&quot;tag&quot;&gt;opscode&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/opscookbook&quot; rel=&quot;tag&quot;&gt;opscookbook&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/sysadmin&quot; rel=&quot;tag&quot;&gt;sysadmin&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/vagrant&quot; rel=&quot;tag&quot;&gt;vagrant&lt;/a&gt;</description>
          <pubDate>Sun, 05 Dec 2010 17:51:02 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/en/blog/2010/12/05/vagrant-virtualbox-chef-und-apache2/</guid>
          <link>http://edmund.haselwanter.com/en/blog/2010/12/05/vagrant-virtualbox-chef-und-apache2/</link>
        </item>
    
        <item>
          <title>Mechanize Screencast and IRB copy history</title>
          <description>&lt;p&gt;And again Ryan Bates did a great screencast. This time on &lt;a href=&quot;http://railscasts.com/episodes/191-mechanize&quot; title=&quot;#191&quot;&gt;mechanize&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;#8220;Mechanize extends the power of Nokogiri allowing you to interact with multiple pages on the site: click links, submit forms, etc.&amp;#8221;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;And if you ever wanted to extract the history of an &lt;span class=&quot;caps&quot;&gt;IRB&lt;/span&gt; session, here it is:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;puts Readline::HISTORY.entries.split(&quot;exit&quot;).last[0..-2].join(&quot;\n&quot;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and another great tool from this episode:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.selectorgadget.com/&quot;&gt;SelectorGadget: point and click &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; selectors&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/ruby&quot; rel=&quot;tag&quot;&gt;ruby&lt;/a&gt;</description>
          <pubDate>Fri, 12 Mar 2010 00:00:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/en/blog/2010/03/12/mechanize-screencast-and-irb-copy-history/</guid>
          <link>http://edmund.haselwanter.com/en/blog/2010/03/12/mechanize-screencast-and-irb-copy-history/</link>
        </item>
    
        <item>
          <title>HTTP Basic Auth for Mysql password and old_password in Rails</title>
          <description>&lt;p&gt;I recently had to develop a small application for a client. The goal was to add a feature to grown Java web application.&lt;/p&gt;
&lt;p&gt;As the software was maintained for several years there are users with old an new MySql passwords in the system.&lt;/p&gt;&lt;p&gt;To authenticate the user I have chosen &lt;code&gt;authenticate_or_request_with_http_basic&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;As I just needed handful of actions all of them go in one controller:&lt;br /&gt;
&lt;code&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;Keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;JEntityNameType&quot;&gt;MyController&lt;span class=&quot;EntityInheritedClass&quot;&gt; &lt;span class=&quot;EntityInheritedClass&quot;&gt;&amp;lt;&lt;/span&gt; ApplicationController&lt;/span&gt;&lt;/span&gt;
  before_filter &lt;span class=&quot;Constant&quot;&gt;&lt;span class=&quot;Constant&quot;&gt;:&lt;/span&gt;authenticate&lt;code&gt;&amp;lt;pre class=&quot;sunburst&quot;&amp;gt;&amp;lt;span class=&quot;Keyword&quot;&amp;gt;class&amp;lt;/span&amp;gt; &amp;lt;span class=&quot;JEntityNameType&quot;&amp;gt;MyController&amp;lt;span class=&quot;EntityInheritedClass&quot;&amp;gt; &amp;lt;span class=&quot;EntityInheritedClass&quot;&amp;gt;&amp;amp;lt;&amp;lt;/span&amp;gt; ApplicationController&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
  before_filter &amp;lt;span class=&quot;Constant&quot;&amp;gt;&amp;lt;span class=&quot;Constant&quot;&amp;gt;:&amp;lt;/span&amp;gt;authenticate&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;span class=&quot;Keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Entity&quot;&gt;index&lt;/span&gt;
&lt;p&gt;&lt;span class=&quot;Comment&quot;&gt;   &lt;span class=&quot;Comment&quot;&gt;#&lt;/span&gt; [ &amp;#8230; ]&lt;/span&gt;&lt;br /&gt;
  &lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;&lt;/p&gt;
&lt;span class=&quot;Keyword&quot;&gt;protected&lt;/span&gt;
&lt;span class=&quot;Keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Entity&quot;&gt;authenticate&lt;/span&gt;
authenticate_or_request_with_http_basic &lt;span class=&quot;Keyword&quot;&gt;do &lt;/span&gt;|&lt;span class=&quot;Variable&quot;&gt;id&lt;/span&gt;, &lt;span class=&quot;Variable&quot;&gt;password&lt;/span&gt;|
&lt;span class=&quot;Variable&quot;&gt;&lt;span class=&quot;Variable&quot;&gt;@&lt;/span&gt;user&lt;/span&gt; &lt;span class=&quot;Keyword&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;Support&quot;&gt;User&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;find_by_name&lt;/span&gt;(id)
login_ok &lt;span class=&quot;Keyword&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;Variable&quot;&gt;&lt;span class=&quot;Variable&quot;&gt;@&lt;/span&gt;user&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;authenticate&lt;/span&gt;(password)
login_ok
&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;
&lt;p&gt;&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/notextile&gt;&lt;/p&gt;
&lt;p&gt;To check if the user can be authenticated:&lt;/p&gt;
&lt;code&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;Keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;JEntityNameType&quot;&gt;User&lt;span class=&quot;EntityInheritedClass&quot;&gt; &lt;span class=&quot;EntityInheritedClass&quot;&gt;&amp;lt;&lt;/span&gt; ActiveRecord::Base&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;Keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Entity&quot;&gt;authenticate&lt;/span&gt;(&lt;span class=&quot;Variable&quot;&gt;password&lt;/span&gt;)
    user &lt;span class=&quot;Keyword&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;Support&quot;&gt;User&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;find_by_sql&lt;/span&gt;([&lt;span class=&quot;String&quot;&gt;&lt;span class=&quot;String&quot;&gt;&amp;quot;&lt;/span&gt;select * from user where user_pass=password('%s') \&lt;/span&gt;
&lt;span class=&quot;String&quot;&gt;                              OR user_pass=old_password('%s')&lt;span class=&quot;String&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;,password,password])
    (user.&lt;span class=&quot;Entity&quot;&gt;length&lt;/span&gt; &lt;span class=&quot;Keyword&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;)&lt;span class=&quot;Constant&quot;&gt;?t&lt;/span&gt;rue&lt;span class=&quot;Constant&quot;&gt;&lt;span class=&quot;Constant&quot;&gt;:&lt;/span&gt;false&lt;/span&gt;
  &lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;


&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;

&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Its a very simple approach.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/http+basic+auth&quot; rel=&quot;tag&quot;&gt;http basic auth&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/mysql&quot; rel=&quot;tag&quot;&gt;mysql&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/rails&quot; rel=&quot;tag&quot;&gt;rails&lt;/a&gt;</description>
          <pubDate>Mon, 02 Nov 2009 14:52:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/en/blog/2009/11/02/http-basic-auth-for-mysql-password-and-old_password-in-rails/</guid>
          <link>http://edmund.haselwanter.com/en/blog/2009/11/02/http-basic-auth-for-mysql-password-and-old_password-in-rails/</link>
        </item>
    
    
    
    
    
    
        <item>
          <title>Kein Back-To-My-Mac - Verwende VNC über SSH</title>
          <description>&lt;p&gt;Wiedereinmal far-far-away und etwas am Rechner im Firmen-, oder Heimnetzwerk vergessen? Kein Problem solange man den &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; Server Dienst einem immer laufenden Mac im Netz laufen hat.&lt;/p&gt;&lt;p&gt;Zuerst brauchen wir einen &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; Tunnel für die &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; Verbindung:&lt;/p&gt;
&lt;code lines=&quot;table&quot; lang=&quot;ruby&quot;&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;line-numbers&quot;&gt;   1 &lt;/span&gt; 
&lt;span class=&quot;line-numbers&quot;&gt;   2 &lt;/span&gt; ssh &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;NfL&lt;/span&gt; &lt;span class=&quot;Constant&quot;&gt;5900&lt;/span&gt;:&lt;span class=&quot;Constant&quot;&gt;127.0&lt;/span&gt;.&lt;span class=&quot;Constant&quot;&gt;0.1&lt;/span&gt;:&lt;span class=&quot;Constant&quot;&gt;5900&lt;/span&gt; user&lt;span class=&quot;Variable&quot;&gt;&lt;span class=&quot;Variable&quot;&gt;@&lt;/span&gt;remote&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;host&lt;/span&gt;
&lt;span class=&quot;line-numbers&quot;&gt;   3 &lt;/span&gt; 
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;Dann müssen wir am Zielrechner noch die Verwendung mit einem &amp;#8220;normalen&amp;#8221; &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; Client konfigurieren.&lt;br /&gt;
Also mit &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; auf den Rechner und&lt;/p&gt;
&lt;code lines=&quot;table&quot; lang=&quot;ruby&quot;&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;line-numbers&quot;&gt;   1 &lt;/span&gt; 
&lt;span class=&quot;line-numbers&quot;&gt;   2 &lt;/span&gt; sudo sudo &lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;Library&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;CoreServices&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;RemoteManagement&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;ARDAgent&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;Contents&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;Variable&quot;&gt;Resources&lt;/span&gt;&lt;span class=&quot;Keyword&quot;&gt;/&lt;/span&gt;kickstart \ 
&lt;span class=&quot;line-numbers&quot;&gt;   3 &lt;/span&gt; &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;configure &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;activate &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;clientopts &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;setvnclegacy &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;vnclegacy yes &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;setvncpw &lt;span class=&quot;Keyword&quot;&gt;-&lt;/span&gt;vncpw &lt;span class=&quot;Variable&quot;&gt;MY_VNC_PASSWORD&lt;/span&gt;
&lt;span class=&quot;line-numbers&quot;&gt;   4 &lt;/span&gt; 
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;Und schon kann man mit einem &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; Client wie beispielsweise Chicken of the &lt;span class=&quot;caps&quot;&gt;VNC&lt;/span&gt; den Graphischen Desktop des entfernten Rechners unter &lt;code&gt;localhost&lt;/code&gt; erreichen.&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/osx&quot; rel=&quot;tag&quot;&gt;osx&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/vnc&quot; rel=&quot;tag&quot;&gt;vnc&lt;/a&gt;</description>
          <pubDate>Sat, 23 Apr 2011 00:00:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/de/blog/2011/04/23/kein-back-to-my-mac---verwende-vnc-ueber-ssh/</guid>
          <link>http://edmund.haselwanter.com/de/blog/2011/04/23/kein-back-to-my-mac---verwende-vnc-ueber-ssh/</link>
        </item>
    
        <item>
          <title>Data Driven Deployment einer Java Web Application mit Chef Solo</title>
          <description>&lt;h2&gt;Chef Application Cookbook Showcase&lt;/h2&gt;
&lt;p&gt;Dieses &lt;a href=&quot;http://vagrantup.com&quot;&gt;Vagrant&lt;/a&gt; Projekt auf unserem Github Repository ( &lt;a href=&quot;https://github.com/iteh/vagrant-demos/tree/master/vagrant-java-application&quot;&gt;https://github.com/iteh/vagrant-demos/&lt;/a&gt; ) zeigt die Verwendung des &lt;a href=&quot;http://www.opscode.com/blog/2010/05/06/data-driven-application-deployment-with-chef/&quot;&gt;Application Cookbooks für Chef&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;weiterlesen auf &lt;a href=&quot;http://www.iteh.at/de/blog/2011/04/16/data-driven-deployment-einer-java-web-application-mit-chef-solo/&quot;&gt;iteh.at&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/java&quot; rel=&quot;tag&quot;&gt;java&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/ruby&quot; rel=&quot;tag&quot;&gt;ruby&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/vagrant&quot; rel=&quot;tag&quot;&gt;vagrant&lt;/a&gt;</description>
          <pubDate>Sat, 16 Apr 2011 00:00:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/de/blog/2011/04/16/data-driven-deployment-einer-java-web-application-mit-chef-solo/</guid>
          <link>http://edmund.haselwanter.com/de/blog/2011/04/16/data-driven-deployment-einer-java-web-application-mit-chef-solo/</link>
        </item>
    
        <item>
          <title>Vagrant, Virtualbox, Chef und Apache2</title>
          <description>&lt;p&gt;Auf der &lt;a href=&quot;http://www.iteh.at/de/blog/2010/12/05/vagrant-sind-sie-bereit-ihren-umgang-mit-it-infrastruktur-zu-revolutionieren/&quot;&gt;iTeh Seite gibt es einen neuen Artikel zu Vagrant&lt;/a&gt;, chef-solo und Virtualbox.&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/chef&quot; rel=&quot;tag&quot;&gt;chef&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/opschef&quot; rel=&quot;tag&quot;&gt;opschef&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/opscode&quot; rel=&quot;tag&quot;&gt;opscode&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/opscookbook&quot; rel=&quot;tag&quot;&gt;opscookbook&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/sysadmin&quot; rel=&quot;tag&quot;&gt;sysadmin&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/vagrant&quot; rel=&quot;tag&quot;&gt;vagrant&lt;/a&gt;</description>
          <pubDate>Sun, 05 Dec 2010 17:51:02 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/de/blog/2010/12/05/vagrant-virtualbox-chef-und-apache2/</guid>
          <link>http://edmund.haselwanter.com/de/blog/2010/12/05/vagrant-virtualbox-chef-und-apache2/</link>
        </item>
    
        <item>
          <title>Ein Mechanize Screencast  und wie man die Ruby IRB History verwendet</title>
          <description>&lt;p&gt;And again Ryan Bates did a great screencast. This time on &lt;a href=&quot;http://railscasts.com/episodes/191-mechanize&quot; title=&quot;#191&quot;&gt;mechanize&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;#8220;Mechanize extends the power of Nokogiri allowing you to interact with multiple pages on the site: click links, submit forms, etc.&amp;#8221;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;And if you ever wanted to extract the history of an &lt;span class=&quot;caps&quot;&gt;IRB&lt;/span&gt; session, here it is:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;puts Readline::HISTORY.entries.split(&quot;exit&quot;).last[0..-2].join(&quot;\n&quot;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and another great tool from this episode:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.selectorgadget.com/&quot;&gt;SelectorGadget: point and click &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; selectors&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/ruby&quot; rel=&quot;tag&quot;&gt;ruby&lt;/a&gt;</description>
          <pubDate>Fri, 12 Mar 2010 00:00:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/de/blog/2010/03/12/ein-mechanize-screencast-und-wie-man-die-ruby-irb-history-verwendet/</guid>
          <link>http://edmund.haselwanter.com/de/blog/2010/03/12/ein-mechanize-screencast-und-wie-man-die-ruby-irb-history-verwendet/</link>
        </item>
    
        <item>
          <title>HTTP Basic Auth für Mysql Passwort und das alte old_password in Rails</title>
          <description>&lt;p&gt;I recently had to develop a small application for a client. The goal was to add a feature to grown Java web application.&lt;/p&gt;
&lt;p&gt;As the software was maintained for several years there are users with old an new MySql passwords in the system.&lt;/p&gt;&lt;p&gt;To authenticate the user I have chosen &lt;code&gt;authenticate_or_request_with_http_basic&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;As I just needed handful of actions all of them go in one controller:&lt;br /&gt;
&lt;code&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;Keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;JEntityNameType&quot;&gt;MyController&lt;span class=&quot;EntityInheritedClass&quot;&gt; &lt;span class=&quot;EntityInheritedClass&quot;&gt;&amp;lt;&lt;/span&gt; ApplicationController&lt;/span&gt;&lt;/span&gt;
  before_filter &lt;span class=&quot;Constant&quot;&gt;&lt;span class=&quot;Constant&quot;&gt;:&lt;/span&gt;authenticate&lt;code&gt;&amp;lt;pre class=&quot;sunburst&quot;&amp;gt;&amp;lt;span class=&quot;Keyword&quot;&amp;gt;class&amp;lt;/span&amp;gt; &amp;lt;span class=&quot;JEntityNameType&quot;&amp;gt;MyController&amp;lt;span class=&quot;EntityInheritedClass&quot;&amp;gt; &amp;lt;span class=&quot;EntityInheritedClass&quot;&amp;gt;&amp;amp;lt;&amp;lt;/span&amp;gt; ApplicationController&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
  before_filter &amp;lt;span class=&quot;Constant&quot;&amp;gt;&amp;lt;span class=&quot;Constant&quot;&amp;gt;:&amp;lt;/span&amp;gt;authenticate&amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;span class=&quot;Keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Entity&quot;&gt;index&lt;/span&gt;
&lt;p&gt;&lt;span class=&quot;Comment&quot;&gt;   &lt;span class=&quot;Comment&quot;&gt;#&lt;/span&gt; [ &amp;#8230; ]&lt;/span&gt;&lt;br /&gt;
  &lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;&lt;/p&gt;
&lt;span class=&quot;Keyword&quot;&gt;protected&lt;/span&gt;
&lt;span class=&quot;Keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Entity&quot;&gt;authenticate&lt;/span&gt;
authenticate_or_request_with_http_basic &lt;span class=&quot;Keyword&quot;&gt;do &lt;/span&gt;|&lt;span class=&quot;Variable&quot;&gt;id&lt;/span&gt;, &lt;span class=&quot;Variable&quot;&gt;password&lt;/span&gt;|
&lt;span class=&quot;Variable&quot;&gt;&lt;span class=&quot;Variable&quot;&gt;@&lt;/span&gt;user&lt;/span&gt; &lt;span class=&quot;Keyword&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;Support&quot;&gt;User&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;find_by_name&lt;/span&gt;(id)
login_ok &lt;span class=&quot;Keyword&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;Variable&quot;&gt;&lt;span class=&quot;Variable&quot;&gt;@&lt;/span&gt;user&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;authenticate&lt;/span&gt;(password)
login_ok
&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;
&lt;p&gt;&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;/pre&gt;&lt;/code&gt;&lt;/notextile&gt;&lt;/p&gt;
&lt;p&gt;To check if the user can be authenticated:&lt;/p&gt;
&lt;code&gt;&lt;pre class=&quot;sunburst&quot;&gt;&lt;span class=&quot;Keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;JEntityNameType&quot;&gt;User&lt;span class=&quot;EntityInheritedClass&quot;&gt; &lt;span class=&quot;EntityInheritedClass&quot;&gt;&amp;lt;&lt;/span&gt; ActiveRecord::Base&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;Keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;Entity&quot;&gt;authenticate&lt;/span&gt;(&lt;span class=&quot;Variable&quot;&gt;password&lt;/span&gt;)
    user &lt;span class=&quot;Keyword&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;Support&quot;&gt;User&lt;/span&gt;.&lt;span class=&quot;Entity&quot;&gt;find_by_sql&lt;/span&gt;([&lt;span class=&quot;String&quot;&gt;&lt;span class=&quot;String&quot;&gt;&amp;quot;&lt;/span&gt;select * from user where user_pass=password('%s') \&lt;/span&gt;
&lt;span class=&quot;String&quot;&gt;                              OR user_pass=old_password('%s')&lt;span class=&quot;String&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;,password,password])
    (user.&lt;span class=&quot;Entity&quot;&gt;length&lt;/span&gt; &lt;span class=&quot;Keyword&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;Constant&quot;&gt;0&lt;/span&gt;)&lt;span class=&quot;Constant&quot;&gt;?t&lt;/span&gt;rue&lt;span class=&quot;Constant&quot;&gt;&lt;span class=&quot;Constant&quot;&gt;:&lt;/span&gt;false&lt;/span&gt;
  &lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;


&lt;span class=&quot;Keyword&quot;&gt;end&lt;/span&gt;

&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Its a very simple approach.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;&lt;br/&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tag/http+basic+auth&quot; rel=&quot;tag&quot;&gt;http basic auth&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/mysql&quot; rel=&quot;tag&quot;&gt;mysql&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tag/rails&quot; rel=&quot;tag&quot;&gt;rails&lt;/a&gt;</description>
          <pubDate>Mon, 02 Nov 2009 14:52:00 GMT</pubDate>
          <guid>http://edmund.haselwanter.com/de/blog/2009/11/02/http-basic-auth-fur-mysql-passwort-und-das-alte-old_password-in-rails/</guid>
          <link>http://edmund.haselwanter.com/de/blog/2009/11/02/http-basic-auth-fur-mysql-passwort-und-das-alte-old_password-in-rails/</link>
        </item>
    
    
    
  </channel>
</rss>


