<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Erik Behrends</title>
 
 <link href="http://www.erikbehrends.com/" />
 <updated>2010-03-29T17:08:42-07:00</updated>
 <id>http://www.erikbehrends.com/</id>
 <author>
   <name>Erik Behrends</name>
 </author>

 
 <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ErikBehrends" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="erikbehrends" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
   <title>Installing Ubuntu Netbook Remix (on an Acer Aspire One)</title>
   <link href="http://www.erikbehrends.com/2009/12/06/ubuntu-netbook-remix.html" />
   <updated>2009-12-06T00:00:00-08:00</updated>
   <id>http://www.erikbehrends.com/2009/12/06/ubuntu-netbook-remix</id>
   <content type="html">&lt;h2&gt;Installing Ubuntu Netbook Remix (on an Acer Aspire One)&lt;/h2&gt;
&lt;p&gt;The other day, I wanted to upgrade my netbook (an older Acer Aspire One model) to the latest Ubuntu version but for some reason the built-in system upgrade did not work. I didn&amp;#8217;t bother investigating this issue and decided to install Ubuntu Netbook Remix from scratch and to share the required steps here.&lt;/p&gt;
&lt;p&gt;These days, it is a piece of cake to install Ubuntu but there are always some additional steps needed to get a &amp;#8220;complete&amp;#8221; system. For me, a complete system includes support for non-free media formats and software which is not open source like Skype &amp;#8211; and Ubuntu does not provide those out of the box. Also, as my netbook is an Acer Aspire One with a solid state drive (&lt;span class="caps"&gt;SSD&lt;/span&gt;) I had to do some extra configuration in order to reduce the fan noise, to increase the SSD&amp;#8217;s lifespan and to improve the system&amp;#8217;s performance by reducing writes to the &lt;span class="caps"&gt;SSD&lt;/span&gt;. Early SSDs have a worse performance and a lower lifespan compared to traditional hard disks but they are very light, produce little noise and generate almost no heat which makes them a great choice for netbooks used as secondary machines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;These are the steps:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Download the Ubuntu Netbook Remix disk image&lt;/li&gt;
	&lt;li&gt;Configure a bootable &lt;span class="caps"&gt;USB&lt;/span&gt; thumb drive using the disk image.&lt;/li&gt;
	&lt;li&gt;Boot Ubuntu from &lt;span class="caps"&gt;USB&lt;/span&gt; drive&lt;/li&gt;
	&lt;li&gt;Play with the live image and install Ubuntu&lt;/li&gt;
	&lt;li&gt;Install non-free media formats&lt;/li&gt;
	&lt;li&gt;Install non open source software (Skype, Google Earth)&lt;/li&gt;
	&lt;li&gt;Optional: extra tweaking for &lt;span class="caps"&gt;SSD&lt;/span&gt; drives&lt;/li&gt;
	&lt;li&gt;Optional: reduce fan noise on Acer Aspire One&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To install Ubuntu Netbook Remix following these steps took me about &lt;strong&gt;2 hours&lt;/strong&gt;. The additional optional steps for SSDs took me another hour.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Download the Ubuntu Netbook Remix disk image&lt;/strong&gt;&lt;br /&gt;
Download the latest Ubuntu Netbook Remix as disk image (.iso file) from &lt;a href="http://www.ubuntu.com"&gt;http://www.ubuntu.com&lt;/a&gt; to your hard drive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Configure a bootable &lt;span class="caps"&gt;USB&lt;/span&gt; thumb drive using the disk image.&lt;/strong&gt; &lt;br /&gt;
If you downloaded the disk image to a Linux machine, a bootable &lt;span class="caps"&gt;USB&lt;/span&gt; device can be created as follows.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The utility: usb-creator. If not allready present on your system, it can be installed with &lt;br /&gt;
      &lt;code&gt;sudo aptitude install usb-creator&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;Run usb-creator&lt;/li&gt;
	&lt;li&gt;On the top pane, you will have to click &amp;#8220;other&amp;#8221;, locate and select the .iso image&lt;/li&gt;
	&lt;li&gt;Plug the (to be formatted!) &lt;span class="caps"&gt;USB&lt;/span&gt; thumb drive into the computer, it should show up in the bottom pane.&lt;/li&gt;
	&lt;li&gt;You will probably have to click format, make sure you have the right device!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can find a howto outlining the configuration of a bootable &lt;span class="caps"&gt;USB&lt;/span&gt; thumb drive (including steps for non-Linux systems) &lt;a href="https://help.ubuntu.com/community/Installation/FromUSBStick"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Boot Ubuntu from &lt;span class="caps"&gt;USB&lt;/span&gt; drive&lt;/strong&gt; &lt;br /&gt;
Plug in the &lt;span class="caps"&gt;USB&lt;/span&gt; drive into your netbook and (re)start it. In order to select the &lt;span class="caps"&gt;USB&lt;/span&gt; drive to boot from, during the boot process you might need to press F12 or another hotkey depending on your netbook model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Play with the live image and install Ubuntu&lt;/strong&gt;&lt;br /&gt;
At first, you can play and experiment with the live image and if you want to install it, click the appropriate icon on the desktop. I chose to use the entire disk and except from setting my time zone I selected the suggested default options. Once the installation is done, reboot the machine and unplug the &lt;span class="caps"&gt;USB&lt;/span&gt; drive. Enjoy your freshly installed Ubuntu (and configure your wireless connection)!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Install non-free media formats&lt;/strong&gt;&lt;br /&gt;
Some media formats like Flash and Apple&amp;#8217;s Quicktime are not supported by Ubuntu out-of-the-box. To enable your netbook to play media clips of those formats, an the Medibuntu software repository needs to be added to your Ubuntu installation. Add the Medibuntu repository as described &lt;a href="https://help.ubuntu.com/community/Medibuntu#Adding%20the%20Repository"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once this has been done, Ubuntu will find the appropriate software packages to install whenever they are needed to play media clips. So, for example, to playback movie trailers hosted on Apple&amp;#8217;s website navigate to &lt;a href="http://www.apple.com/trailers"&gt;http://www.apple.com/trailers&lt;/a&gt;, choose any trailer and try to play it in the browser. You will be asked to search for a suitable plugin and click &amp;#8220;Search&amp;#8221; to confirm the dialog. Ubuntu&amp;#8217;s package manager will then list the software packages to install and hence press &amp;#8220;Install&amp;#8221; to add them to your system. The package manager will take care of the rest. Note that after this additional packages might need to be installed following the same procedure.&lt;/p&gt;
&lt;p&gt;To install Adobe&amp;#8217;s Flash player, I browsed to the video online platform &lt;a href="http://www.vimeo.com"&gt;vimeo&lt;/a&gt; where Firefox notified me that additional plug-ins are required to display the content of this site (obviously). So I clicked on the notification in Firefox to enter the dialog and chose Adobe&amp;#8217;s Flash player to be installed.&lt;/p&gt;
&lt;p&gt;In case you need Java, then this &lt;a href="http://www.javatester.org"&gt;site&lt;/a&gt; gives you the notification in Firefox to install a Java plug-in for Firefox (I used Sun&amp;#8217;s Java runtime).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. Install non open source software (Skype, Google Earth)&lt;/strong&gt;&lt;br /&gt;
To install Skype and Google earth, you have to open a terminal and execute this command (they also come with the Medibuntu repository):&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;sudo aptitude install skype googleearth&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I also recommend installing the media player &lt;span class="caps"&gt;VLC&lt;/span&gt; as it plays most of the existing media formats:&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;sudo aptitude install vlc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7. Optional: extra tweaking for &lt;span class="caps"&gt;SSD&lt;/span&gt; drives&lt;/strong&gt;&lt;br /&gt;
I found some tricks to improve performance of the &lt;span class="caps"&gt;SSD&lt;/span&gt; drive &lt;a href="http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce-Dmitri-s-open-source-blend-of-productive-computing/Three-Simple-Tweaks-for-Better-SSD-Performance"&gt;here&lt;/a&gt; (both in the article and its comments, tips copied to here and slightly modified).&lt;/p&gt;
&lt;p&gt;Add the &lt;code&gt;elevator=noop&lt;/code&gt; kernel boot parameter to disable the elevator scheduler. This scheduler is used to read and write data from the hard disk sequentially. Since an &lt;span class="caps"&gt;SSD&lt;/span&gt; is not a conventional hard disk, disabling the elevator scheduler significantly improves the read and write performance of your &lt;span class="caps"&gt;SSD&lt;/span&gt;. Edit the file &lt;code&gt;/etc/default/grub&lt;/code&gt;&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;sudo nano /etc/default/grub&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Change the line that starts with &lt;code&gt;GRUB_CMDLINE_LINUX_DEFAULT=...&lt;/code&gt; and put &lt;code&gt;elevator=noop&lt;/code&gt; in the quotes. Once you have saved it, run&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;sudo update-grub&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;to apply the changes.&lt;/p&gt;
&lt;p&gt;Next, set the file system mount option to &lt;code&gt;noatime&lt;/code&gt;. To do this, edit the &lt;code&gt;/etc/fstab&lt;/code&gt; file&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;sudo nano /etc/fstab&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and change the line containing &lt;code&gt;ext4&lt;/code&gt; such that it looks something like this:&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;/dev/sda1    /  ext4   noatime,errors=remount-ro   0       1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Adding the noatime option eliminates the need for the system to make writes to the file system for files which are simply being read &amp;#8212; or in other words, this means faster file access and less disk wear.&lt;/p&gt;
&lt;p&gt;Some more &lt;span class="caps"&gt;SSD&lt;/span&gt; tweaks are taken from &lt;a href="http://www.len.ro/2009/11/ubuntu-9-10-karmic-koala-netbook/"&gt;this blog post&lt;/a&gt; (tips copied to here and slightly modified):&lt;/p&gt;
&lt;p&gt;Improve Firefox speed by disabling its disk cache. Just go to &lt;code&gt;about:config&lt;/code&gt; and set the &lt;code&gt;browser.cache.disk.enable&lt;/code&gt; preference to &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Another improvement was to remove logging on the &lt;span class="caps"&gt;SSD&lt;/span&gt;. For this purpose &lt;code&gt;/var/log&lt;/code&gt; and &lt;code&gt;/tmp&lt;/code&gt; have to be mounted as temporary filesystems. To achieve this, edit &lt;code&gt;/etc/fstab&lt;/code&gt; and add the following lines:&lt;/p&gt;
&lt;script src="http://gist.github.com/250261.js?file=tmpfs.txt"&gt;&lt;/script&gt;&lt;p&gt;Don’t forget the trailing line at the end. Note that some programs might complain about the lack of folders so they have to be created. To rebuild the rest of the directory structure inside &lt;code&gt;/var/log&lt;/code&gt; on each reboot, add these lines to &lt;code&gt;/etc/rc.local&lt;/code&gt; above the &amp;#8220;&lt;code&gt;exit 0&lt;/code&gt;&amp;#8221; line:&lt;/p&gt;
&lt;script src="http://gist.github.com/250260.js?file=tmplog"&gt;&lt;/script&gt;&lt;p&gt;Finally, you might not need all preconfigured startup applications. Go to &lt;code&gt;System&lt;/code&gt; &amp;#8594; &lt;code&gt;Startup Applications&lt;/code&gt; to disable those not needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;8. Optional: reduce fan noise on Acer Aspire One&lt;/strong&gt;&lt;br /&gt;
The Acer Aspire One has a known issue where the fan would always be enabled and can cause an annoying sound. I found some information about this issue &lt;a href="https://help.ubuntu.com/community/AspireOne/Ubuntu9.10"&gt;here&lt;/a&gt; (tips copied to here and slightly modified):&lt;/p&gt;
&lt;p&gt;Fan Control module is now part of the kernel, but is not enabled by default. To enable it for the running session type in a terminal:&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;sudo echo -n 'enabled' &amp;gt; /sys/class/thermal/thermal_zone0/mode&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To automatically enable it at boot, create the file&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;/etc/modprobe.d/acerhdf.conf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and add this line to it:&lt;/p&gt;
&lt;p style="padding-left:1em;"&gt;&lt;code&gt;options acerhdf kernelmode=1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;That&amp;#8217;s it!&lt;/strong&gt;&lt;br /&gt;
I hope you will enjoy your fresh Ubuntu Netbook Remix install as much as I do.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Patience, passion and purpose</title>
   <link href="http://www.erikbehrends.com/2009/10/29/patience-passion-purpose.html" />
   <updated>2009-10-29T00:00:00-07:00</updated>
   <id>http://www.erikbehrends.com/2009/10/29/patience-passion-purpose</id>
   <content type="html">&lt;h2&gt;Patience, passion and purpose&lt;/h2&gt;
&lt;p&gt;In order to create great stuff, &lt;a href="http://37signals.com/svn/posts/1437-put-a-dent-in-the-universe"&gt;you have to love your tools, environment and domain&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ted.com/talks/dan_pink_on_motivation.html"&gt;Autonomy, mastery and purpose&lt;/a&gt; are better motivators than financial incentives.&lt;/p&gt;
&lt;p&gt;Do what you love with &lt;a href="http://www.youtube.com/watch?v=EhqZ0RU95d4"&gt;patience and passion&lt;/a&gt;.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>The lack of choice or why I use a Mac</title>
   <link href="http://www.erikbehrends.com/2009/10/20/lack-of-choice.html" />
   <updated>2009-10-20T00:00:00-07:00</updated>
   <id>http://www.erikbehrends.com/2009/10/20/lack-of-choice</id>
   <content type="html">&lt;h2&gt;The lack of choice or why I use a Mac&lt;/h2&gt;
&lt;p&gt;The main purpose of owning a car is to get from A to B in a reasonable amount of time and at any given time of the day. So any car that fulfills this purpose would just be fine. However, if you want to own a great car that should also provide you with a desired level of convenience while driving or with the abilitiy to drive fast (if you for instance live in Germany and can enjoy the non-existing speed limit on parts of the Autobahn), then you might choose between an Audi, &lt;span class="caps"&gt;BMW&lt;/span&gt; or Porsche (ok as a German I&amp;#8217;m a bit biased). At least there is a pool of great brands to choose the most suitable model from. Similiar in terms of cameras. You might prefer the products of Canon or Nikon or whatever but at least you have a choice.&lt;/p&gt;
&lt;p&gt;When it comes to computers &amp;#8212; after 15 years of using them daily both during my studies and my professional career &amp;#8212; I know realized that there is NO choice. Although there are dozens of respectable manufacturers, yet at the end of the day, it&amp;#8217;s the operating system that one has to worry about the most:  it has to be reliable and it should behave in a way you expect it to given that it plays nicely with the hardware it sits on. Nowadays, there are only three main platforms to choose from (in alphabetical order): Linux, Mac OS X and Windows. I work with all of those operating system on a daily basis, Linux and Windows mostly at work while at home I usually switch to using my MacBook.&lt;/p&gt;
&lt;p&gt;Now, I try to avoid sounding like an Apple fanboy but frankly Macs are the only computers I would choose to work with (if I had the choice). And in order to take a non-fanboy approach to explain this, I will list reasons for why I wouldn&amp;#8217;t choose neither Linux or Windows (if I could).&lt;/p&gt;
&lt;p&gt;There are only two reasons I can accept when someone claims they have to work with Windows: specific software needs or restrictive policies at work. Especially if you are interested in gaming (which I&amp;#8217;m not) than you have a good reason to use a Windows machine (or get an Xbox or Wii or whatever). In my experience, I would not voluntarily choose to work with a Windows based machine (either desktop, server or laptop) because they just fail too often &amp;#8212; do we really need to discuss this? I really don&amp;#8217;t want to work with a tool (and most often a computer is a tool to get a certain task done) that fails on a regular basis and declines in performance over time (ever noticed that your Windows machine is booting slower and slower over the months?).&lt;/p&gt;
&lt;p&gt;How about Linux then? Or rather Ubuntu which these days seems to be the only Linux distribution that delivers a decent user experience. Well, I&amp;#8217;m using it on a daily basis and most of the time, I&amp;#8217;m happy with it. For a server machine, it is perfect and I would not complain here (when it comes to servers, one could use Debian or other Unix derivates like FreeBSD, too). On a desktop machine, it is almost ideal. Only almost because multimedia support can still be a pain to configure and to get working (adding software sources, etc.). Considering laptops, unfortunately, Linux still fails too often for me. After having used Linux on laptops for almost 10 years now, there too many things that don&amp;#8217;t work properly. Hibernation and presenting with a projector are just two prominent examples. Support for wireless internet got better the last few years though. But again, I don&amp;#8217;t want to spend my time in configuring a tool, I just want it to function properly.&lt;/p&gt;
&lt;p&gt;When it comes to the MacBook I am using at home, I really don&amp;#8217;t have any complaints. Hibernation works always, the wireless connects in less than one second and everything else is working as expected (after you get used to it when switching from a PC). Sounds like a fanboy statement, I know. But this is my experience over the last years. That&amp;#8217;s why my choice of a laptop would always be a MacBook. Really, MacBooks just work as advertised and I am willing to pay the Apple tax to get a tool that I can rely on. Or to work with the one causing the least amount of issues.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Talk notes - Sneaking Ruby &amp; Rails into big companies</title>
   <link href="http://www.erikbehrends.com/2009/08/04/talk-notes-sneaking-rails-into-enterprise.html" />
   <updated>2009-08-04T00:00:00-07:00</updated>
   <id>http://www.erikbehrends.com/2009/08/04/talk-notes-sneaking-rails-into-enterprise</id>
   <content type="html">&lt;h2&gt;Talk notes &amp;#8211; Sneaking Ruby &amp;amp; Rails into big companies&lt;/h2&gt;
&lt;p&gt;I didn&amp;#8217;t have the chance to attend the &lt;a href="http://www.rails-underground.com/"&gt;Rails Underground&lt;/a&gt; conference which took place in July 2009 in London. But fortunately some of the slides and videos of the talks can be found &lt;a href="http://www.rails-underground.com/09-conference-schedule.html"&gt;online&lt;/a&gt;. One talk caught my attention in particular: &lt;a href="http://skillsmatter.com/podcast/ajax-ria/maik-schmidt-sneaking-ruby-rails-into-big-companies"&gt;Sneaking Ruby &amp;amp; Rails into big companies&lt;/a&gt; by &lt;a href="http://maik-schmidt.de/"&gt;Maik Schmidt&lt;/a&gt;. Working for a big company (vodafone), he managed to apply Ruby and Rails for some projects he was working on.&lt;/p&gt;
&lt;p&gt;In this post, I would like to recap some of the interesting points he made. He listed some areas in which &lt;a href="http://ruby-lang.org"&gt;Ruby&lt;/a&gt; and also &lt;a href="http://rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt; could be applied:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;automate deployment tasks (with Ruby)&lt;/li&gt;
	&lt;li&gt;create a regression testing tool (with Ruby and/or Rails)&lt;/li&gt;
	&lt;li&gt;web application for internal use (with Ruby on Rails)&lt;/li&gt;
	&lt;li&gt;create a &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;&lt;span class="caps"&gt;REST&lt;/span&gt;&lt;/a&gt; service (with &lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;build prototypes blazingly fast (with Ruby on Rails)&lt;/li&gt;
	&lt;li&gt;integrate legacy applications with each other (using Ruby)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I would actually mention automation in a more general sense here whereby I mean any repetitive and cumbersome task that can be simplified and automated. And note that these areas are not only suitable for Ruby/Rails but could be used to introduce any new techonlogy or paradigm in an existing organisation.&lt;/p&gt;
&lt;p&gt;Maik then reminds us that Ruby is a full-blown programming language and could be used for pretty much anything. Also, sometimes there is no need to create a Web2.0 interface for every existing legacy application. In fact, a terminal application could for instance be embedded in a web browser without loosing its look and feel (green text on black background which is operated by the keyboard).&lt;/p&gt;
&lt;p&gt;Another general recommendation is to focus on a higher level of abstraction, hence instead of introducing techonlogies, try to adopt techniques:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://agilemanifesto.org"&gt;agile software development&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;best practices&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Domain-specific_language"&gt;domain specific languages&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Ruby&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;&lt;span class="caps"&gt;REST&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;&lt;span class="caps"&gt;MVC&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Ruby on Rails (especially &lt;span class="caps"&gt;DRY&lt;/span&gt; &amp;#8211; don&amp;#8217;t repeat yourself)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As many enterprises use Java for most of their development tasks, &lt;a href="http://www.jruby.org/"&gt;JRuby&lt;/a&gt; is an ideal candidate to start feeding Ruby code into existing Java codebases. Maik specifically suggested to &amp;#8220;rubify your java libraries&amp;#8221;. Finally, it might take quite some time to see a paradigm shift in what techniques are used by large companies&amp;#8217; development teams. In his own case, Maik mentioned that it took him more than 6 years to get Ruby into his day job. Therefore, one has to be patient and continuously promote the new technology by giving internal presentations.&lt;/p&gt;
&lt;p&gt;If you are working in an enterprise context or are employed by a bigger company and would like to get ideas how to sneak Ruby, Rails or any other new technology into your day job, then it&amp;#8217;s worth investing 53:48 minutes to watch the &lt;a href="http://skillsmatter.com/podcast/ajax-ria/maik-schmidt-sneaking-ruby-rails-into-big-companies"&gt;video of Maik&amp;#8217;s talk&lt;/a&gt;.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Container components in Lotus Notes 8.5.1</title>
   <link href="http://www.erikbehrends.com/2009/07/29/comp-app-containers.html" />
   <updated>2009-07-29T00:00:00-07:00</updated>
   <id>http://www.erikbehrends.com/2009/07/29/comp-app-containers</id>
   <content type="html">&lt;h2&gt;Container components in Lotus Notes 8.5.1&lt;/h2&gt;
&lt;p&gt;On July 14 2009 my first developerWorks article has been &lt;a href="http://www.ibm.com/developerworks/lotus/library/symphony-containers/index.html"&gt;published&lt;/a&gt;. I submitted the article a while ago and in the meantime a lot has changed.&lt;/p&gt;
&lt;p&gt;First of all, I&amp;#8217;m not working on composite applications as part of my day job anymore. Secondly, the article is based on &lt;span class="caps"&gt;IBM&lt;/span&gt; Lotus Notes 8.5. Now we are close to the release of Notes 8.5.1 and I was &lt;a href="http://blog.balfes.net/?p=699"&gt;told&lt;/a&gt; that the tooling around containers in comp apps has been massively improved.&lt;/p&gt;
&lt;p&gt;So once 8.5.1 is out, I trust that the &lt;a href="http://www-10.lotus.com/ldd/compappwiki.nsf"&gt;comp app wiki&lt;/a&gt; will provide documentation and tutorials for these new features.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Reasons for this blog</title>
   <link href="http://www.erikbehrends.com/2009/07/21/reasons-for-this-blog.html" />
   <updated>2009-07-21T00:00:00-07:00</updated>
   <id>http://www.erikbehrends.com/2009/07/21/reasons-for-this-blog</id>
   <content type="html">&lt;h2&gt;Reasons for this blog&lt;/h2&gt;
&lt;p&gt;So finally, I created my own blog. Besides having it hosted on my personal website which I see as my business card in the web, there are some other reasons for setting this up and feeding it in the future. Like so often with many things in life, there might be benefits for others and myself.&lt;/p&gt;
&lt;p&gt;For myself, I will mainly use this space to store and archive information I find useful and need for future reference.&lt;/p&gt;
&lt;p&gt;Then, and maybe more importantly, any piece of information that I think is interesting or useful might be worth sharing as others could use them as well. As simple as that.&lt;/p&gt;
&lt;p&gt;So what is likely to be contained here? Currently, I these things come to my mind:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;link to interesting stuff in the web&lt;/li&gt;
	&lt;li&gt;howtos&lt;/li&gt;
	&lt;li&gt;code explorations&lt;/li&gt;
	&lt;li&gt;random thoughts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;#8217;s it &amp;#8211; I hope someone will find this helpful, if not, at least I will.&lt;/p&gt;</content>
 </entry>
 
 
</feed>

