<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>devroom.io</title>
    <link>https://www.devroom.io/</link>
    <description>Recent content on devroom.io</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2024 Ariejan de Vroom</copyright>
    <lastBuildDate>Thu, 08 Feb 2024 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.devroom.io/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Arch Linux: Improve boot time performance</title>
      <link>https://www.devroom.io/2024/02/08/arch-linux-improve-boot-time-performance/</link>
      <pubDate>Thu, 08 Feb 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2024/02/08/arch-linux-improve-boot-time-performance/</guid>
      <description>I run Debian on all my servers. It&amp;rsquo;s a great stable OS and I love it. Proxmox, which I run on my homelab server, is also based on Debian.
However, on my desktop I run Arch Linux. It&amp;rsquo;s a great distro to tinker with. It comes with a lot of up to date packages, but it also has the AUR - Arch User Repository. So for any app you can find, there probably is an easy way to install it.</description>
    </item>
    
    <item>
      <title>Troubleshooting zfs online not working</title>
      <link>https://www.devroom.io/2024/01/27/troubleshooting-zfs-online-not-working/</link>
      <pubDate>Sat, 27 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2024/01/27/troubleshooting-zfs-online-not-working/</guid>
      <description>Yesterday the first 10TB recertified drive tested all okay. I&amp;rsquo;ve decided to upgrade the four 3TB drives in my pool to 10TB to expand capacity.
I have a 16 bay hot-swap chassis with 13 slots filled.
4x 3TB (raidz1, tank) 4x 8TB (raidz1, tank) 4x 14TB (raidz1, tank) A single 3TB drive as &amp;lsquo;scratch&amp;rsquo; disk for temporary backup data I really want to have the same vdev drives stacked in the same column physically.</description>
    </item>
    
    <item>
      <title>Prepare new harddisk for ZFS/NAS</title>
      <link>https://www.devroom.io/2024/01/24/prepare-new-harddisk-for-zfs/nas/</link>
      <pubDate>Wed, 24 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2024/01/24/prepare-new-harddisk-for-zfs/nas/</guid>
      <description>You can read more on my homelab and datahoarding problem here and here.
Today I scored two recertified 10TB HGST drives for very little. Normally I&amp;rsquo;d go for the brand new stuff, but this deal was too good to be true.
My main goal is to check if these recertified disks are worth the money/effort. Next up I want to experiment with a new ZFS pool setups. (You still cannot remove a raidz vdev from your pool in 20241)</description>
    </item>
    
    <item>
      <title>Volkswagen Golf Cabrio - Update</title>
      <link>https://www.devroom.io/2024/01/24/volkswagen-golf-cabrio-update/</link>
      <pubDate>Wed, 24 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2024/01/24/volkswagen-golf-cabrio-update/</guid>
      <description>It&amp;rsquo;s been almost 18 months since I purchased a, let&amp;rsquo;s be honest here, beat-up Volkswagen Golf Cabrio from 1994. At the time my knowledge about car mechanics was pretty much zero. Did I tell you I like a good challenge?
I needed to start with the basics, like new brakes, struts and an obviously leaking exhaust to pass the annual safety and roadworthiness inspection. A big shout-out to ChrisFix for all his detailed videos.</description>
    </item>
    
    <item>
      <title>Base2Tone Cave Dark for Slack</title>
      <link>https://www.devroom.io/2023/05/17/base2tone-cave-dark-for-slack/</link>
      <pubDate>Wed, 17 May 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2023/05/17/base2tone-cave-dark-for-slack/</guid>
      <description>I like my colorschemes. The most recent one I discoved is Base2Tone Cave Dark.
So, naturally I wanted to have it in Slack too, so I created a custom theme. Here it is.
Preview Installation 1#222021,#1A2B23,#EBBC47,#1A1D21,#936C7A,#EBBC47,#EBBC47,#AD1F51,#222021,#EBBC47 Got to Preferences → Themes and paste the above in the appropriate box.</description>
    </item>
    
    <item>
      <title>Volkswagen Golf III Cabrio (1994)</title>
      <link>https://www.devroom.io/projects/volkswagen-golf-iii-cabrio-1994/</link>
      <pubDate>Thu, 30 Jun 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/volkswagen-golf-iii-cabrio-1994/</guid>
      <description>And now for something completely different: I&amp;rsquo;m going to fix up 1994 Volkswagen Golf III Cabrio at home.</description>
    </item>
    
    <item>
      <title>10GB Ethernet with Proxmox and Ryzentosh 3700X with macos Catalina</title>
      <link>https://www.devroom.io/2020/11/18/10gb-ethernet-with-proxmox-and-ryzentosh-3700x-with-macos-catalina/</link>
      <pubDate>Wed, 18 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/11/18/10gb-ethernet-with-proxmox-and-ryzentosh-3700x-with-macos-catalina/</guid>
      <description>Please read my previous post on my DIY NAS here: 1 and 2.
10 gigabit. That is 10,000 megabit.
I come from a time when fast internet meant you had ISDN. For reference, that&amp;rsquo;s 192kbps, or roughly 24KB/s.
For the past eight years I&amp;rsquo;ve had CAT-5E / CAT 6 installed through-out my house and have enjoyed LAN speeds of 1000mbps or 1gbps. At full throttle that ways in at about 125 Megabyte/s.</description>
    </item>
    
    <item>
      <title>The Big DIY NAS Update</title>
      <link>https://www.devroom.io/2020/11/12/the-big-diy-nas-update/</link>
      <pubDate>Thu, 12 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/11/12/the-big-diy-nas-update/</guid>
      <description>Please read my previous post on my DIY NAS here: https://www.devroom.io/2020/02/28/building-a-diy-home-server-with-freenas
A brief history In May 2019 I decided it was time to jump on the NAS bandwagon. I started out with the following:
Fractal Design Node 804 4x 3TB WD Red (retail) Gigabyte Z370M D3H Intel i3 i8350K 4c/4t CPU 16GB Non-ECC Memory 128 GB Gigabyte SSD Boot drive FreeNAS with a single RaidZ1 (4x 3TB) pool That&amp;rsquo;s when it all started.</description>
    </item>
    
    <item>
      <title>Repairing a Xiaomi Roborock S5 Max</title>
      <link>https://www.devroom.io/2020/10/03/repairing-a-xiaomi-roborock-s5-max/</link>
      <pubDate>Sat, 03 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/10/03/repairing-a-xiaomi-roborock-s5-max/</guid>
      <description>Many less-tech savvy people I know have a robot vacuum cleaner. So why didn&amp;rsquo;t I? I don&amp;rsquo;t know, so I bought one. I was able to get a good deal through a Chinese reseller that could ship directly from Spain. As it turned out, they shipped with Amazon.
The S5 Max has some nifty features, including mopping and LDS laser navigation. The reviews were good. The price was good. So, here we are.</description>
    </item>
    
    <item>
      <title>Repair: Philips 42&#34; 3D LED TV with Ambilight - AGAIN</title>
      <link>https://www.devroom.io/projects/repair-philips-42pfl6057h-12-again/</link>
      <pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-philips-42pfl6057h-12-again/</guid>
      <description>This week our Philips TV died. I repaired it before, and it seemed the problem was back.</description>
    </item>
    
    <item>
      <title>Why I will not repair your amplifier</title>
      <link>https://www.devroom.io/2020/03/29/why-i-will-not-repair-your-amplifier/</link>
      <pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/03/29/why-i-will-not-repair-your-amplifier/</guid>
      <description>I like tinkering with electronics and one awesome way of doing that is by repairing things that are broken. I get about ten or more requests every month from random people from the internet to help them repair there device. My reaction is always the same: no, I will not. This posts tries to explain why I say no and what alternative I can offer them.
When I repair something (or anybody else for that matter), it will cost something.</description>
    </item>
    
    <item>
      <title>Test Flutter on Drone CI</title>
      <link>https://www.devroom.io/2020/03/17/test-flutter-on-drone-ci/</link>
      <pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/03/17/test-flutter-on-drone-ci/</guid>
      <description>This post is specific to Drone CI, but is probably easily adoptable to other CI systems, like Gitlab.
Flutter is UI library based on Dart to create beautiful, natively compiled applications for mobile. Web and desktop targets are also in the works.
Recently I&amp;rsquo;ve been playing around with Flutter and Dart. As a backend engineer I have to say I quite like it. Dart is a breeze to work with, the static typing helps a lot.</description>
    </item>
    
    <item>
      <title>A Drone Hugo plugin that works</title>
      <link>https://www.devroom.io/2020/03/11/a-drone-hugo-plugin-that-works/</link>
      <pubDate>Wed, 11 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/03/11/a-drone-hugo-plugin-that-works/</guid>
      <description>This article contains some background to why I wrote this plugin. If you just want to use it, see github.com/ariejan/drone-hugo for details.
I recently moved away from Gitlab + Gitlab CI to a Gitea + Drone setup. Both Gitea and Drone are lightweight and fast, and let&amp;rsquo;s be honest, more than enough for an engineering enthusiast like myself. They now also run on my NAS Homelab Server as docker containers, which helps to save a few bucks every month in hosting fees.</description>
    </item>
    
    <item>
      <title>The git submodule cheat sheet</title>
      <link>https://www.devroom.io/2020/03/09/the-git-submodule-cheat-sheet/</link>
      <pubDate>Mon, 09 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/03/09/the-git-submodule-cheat-sheet/</guid>
      <description>A git submodule, in its essence, is a reference to another git repository. It&amp;rsquo;s a great way to include vendor code (like plugins or themes) into your own code base. This post contains some examples on how to use git submodules effectively.
Add a submodule You need to know the remote git repository url and where you want to place that it in your repository.
1git submodule add https://example.com/submodule-repo.git path/to/submodule 2git add .</description>
    </item>
    
    <item>
      <title>Building a DIY Home Server with FreeNAS</title>
      <link>https://www.devroom.io/2020/02/28/building-a-diy-home-server-with-freenas/</link>
      <pubDate>Fri, 28 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2020/02/28/building-a-diy-home-server-with-freenas/</guid>
      <description>Keep reading! I&amp;rsquo;ve documented several upgrades to my DIY NAS at the bottom of this post. After you&amp;rsquo;re doing reading this, hop over to my latest update on my homelab server / NAS.
This post is almost a year over due. I think it might still be relevant for people looking to start a NAS project or upgrade from a consumer-grade NAS like QNAP or Synology.
This is by no means a definitive guide on how to build a reliable network attached storage server.</description>
    </item>
    
    <item>
      <title>How to background a running process over SSH</title>
      <link>https://www.devroom.io/2019/08/28/how-to-background-a-running-process-over-ssh/</link>
      <pubDate>Wed, 28 Aug 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2019/08/28/how-to-background-a-running-process-over-ssh/</guid>
      <description>Today I was logged in on my FreeNAS server to setup Duplicity backups. After initial success on a small dataset of about 100MB, I cloned my configuration to backup my long term storage dataset. It contains about 50GB of data - or so I thought. It turns out there&amp;rsquo;s over 500GB there.
I let the job run throughout the day, not minding it much. But then time comes to close my SSH connection, and I know what that means: the process will be killed.</description>
    </item>
    
    <item>
      <title>Repair: Philips 42&#34; 3D LED TV with Ambilight</title>
      <link>https://www.devroom.io/projects/repair-philips-42pfl6057h-12/</link>
      <pubDate>Sun, 10 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-philips-42pfl6057h-12/</guid>
      <description>Last week I started a new repair project: a 42&amp;quot; Philips TV. The power supply was obviously defect, but I ran into another problem as well&amp;hellip;</description>
    </item>
    
    <item>
      <title>Design: Phono X, a RIAA Phono Preamplifier</title>
      <link>https://www.devroom.io/projects/design-phono-x/</link>
      <pubDate>Wed, 12 Sep 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/design-phono-x/</guid>
      <description>Building a quality phono preamp is still one of the joys of the audio electronics enthusiast. This is my first take on a RIAA phono premap.</description>
    </item>
    
    <item>
      <title>Bug severity explained</title>
      <link>https://www.devroom.io/2017/12/08/bug-severity-explained/</link>
      <pubDate>Fri, 08 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2017/12/08/bug-severity-explained/</guid>
      <description>Recently I got an email asking me about how I classify bugs and issues and how the different categories for a bug&amp;rsquo;s severity, like Critical and Major can be explained clearly.
I&amp;rsquo;m a software engineer and for the longest time have I approached everything in my work as a software engineering problem. Bug reports are one of them. Any bug report is a report on how software does not behave like it should.</description>
    </item>
    
    <item>
      <title>Repair: Hewlet Packard 34401A Bench Multimeter</title>
      <link>https://www.devroom.io/projects/repair-hp-34401a-bench-multimeter/</link>
      <pubDate>Fri, 01 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-hp-34401a-bench-multimeter/</guid>
      <description>After watching The Signal Path for some I decided to treat myself to a classic 34401A 6½ digit multimeter.</description>
    </item>
    
    <item>
      <title>Repair: Denon AVR-4520</title>
      <link>https://www.devroom.io/projects/repair-denon-avr-4520/</link>
      <pubDate>Tue, 21 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-denon-avr-4520/</guid>
      <description>This unit sold from 2012-2015 as the top-of-the line AV Network Receiver from Denon. I got my hands on a unit with power protection issues. Here&amp;rsquo;s the repair log the Denon AVR-4520.</description>
    </item>
    
    <item>
      <title>Repair: Rotel RB-970BX</title>
      <link>https://www.devroom.io/projects/repair-rotel-rb-970bx/</link>
      <pubDate>Mon, 13 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-rotel-rb-970bx/</guid>
      <description>Another lucky find: Rotel RB-970BX Power Amplifier with one defective channel. Let&amp;rsquo;s fix this!</description>
    </item>
    
    <item>
      <title>Tmux and Vim: Copy and Paste on macOS Sierra</title>
      <link>https://www.devroom.io/2017/03/22/tmux-and-vim-copy-and-paste-on-macos-sierra/</link>
      <pubDate>Wed, 22 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2017/03/22/tmux-and-vim-copy-and-paste-on-macos-sierra/</guid>
      <description>As a developer, more than anything, you copy and paste things. Making copy and paste work in properly with Vim and Tmux is, unfortunately, not trivial.
There&amp;rsquo;s a lot of information to be found on the internet about setting up copy and paste with Tmux. There&amp;rsquo;s also lots of information on how to setup Vim. But then you run Vim 8. On macOS Sierra. And things break down quickly.
This short guide helps you setup Tmux and Vim on macOS Sierra for proper copy pasting glory!</description>
    </item>
    
    <item>
      <title>Image Zoom with plain JavaScript and CSS</title>
      <link>https://www.devroom.io/2017/03/20/image-zoom-with-plain-javascript-and-css/</link>
      <pubDate>Mon, 20 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2017/03/20/image-zoom-with-plain-javascript-and-css/</guid>
      <description>Note: I&amp;rsquo;ve moved away from the solution outlined in this post. Mainly because I did not want to write an entire gallery from scratch. I&amp;rsquo;ve since opted to use lightgallery.js which is a pure JS image gallery solution with some nice goodies.
The premise is simple. A post may contain images. These images are restricted in rendered size to keep the flow of the page in tact. Clicking an image allows you to zoom in.</description>
    </item>
    
    <item>
      <title>Bitcoin Mining Anno 2017</title>
      <link>https://www.devroom.io/2017/03/08/bitcoin-mining-anno-2017/</link>
      <pubDate>Wed, 08 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2017/03/08/bitcoin-mining-anno-2017/</guid>
      <description>Bitcoin was introduced in 2008 and has gained much popularity since then. At the time of writing the exchange rate for 1 BTC is about €1100 (or $1166), quite an increase from when you could get 1 BTC for just a few euro.
It is 29 November 2017, just eight months after writing this post, and the exchange rate has skyrocketed. The $10,000 barrier has already been broken and the €10,000 barrier is in sight.</description>
    </item>
    
    <item>
      <title>Repair: Marantz PM80 Mk2</title>
      <link>https://www.devroom.io/projects/repair-marantz-pm80-mk2/</link>
      <pubDate>Sun, 09 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-marantz-pm80-mk2/</guid>
      <description>The venerable Marantz PM80 Mk2. This unit was completely dead, but I was able to bring it back to life!</description>
    </item>
    
    <item>
      <title>Squash git commits when merging</title>
      <link>https://www.devroom.io/2016/08/17/squash-git-commits-when-merging/</link>
      <pubDate>Wed, 17 Aug 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2016/08/17/squash-git-commits-when-merging/</guid>
      <description>Today I&amp;rsquo;ve been fighting to get our test suite to run against a newly delivered Oracle 12 database. Of course, that didn&amp;rsquo;t work out of the box, so there was some debugging, trial-and-error, and cursing involved. Finally, I managed to get the build back up and running. Yay!
The commit history for this pull request was horrible and some would call it unprofessional, looking at the various commit messages written in anger.</description>
    </item>
    
    <item>
      <title>Music Streaming Setup</title>
      <link>https://www.devroom.io/2016/04/24/music-streaming-setup/</link>
      <pubDate>Sun, 24 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2016/04/24/music-streaming-setup/</guid>
      <description>I love music.
Recently I got into vinyl and I love it. Although it&amp;rsquo;s not digital 24/96 studio quality, there is something relaxing about picking a record, putting it on my turn table and listening to the small diamond needle scanning the grooves of the record pressed 30 or 40 years ago. This post is not about vinyl, though.
Today I listen mostly to music on Spotify. It&amp;rsquo;s cheap, offers good quality and is available both at home and at work.</description>
    </item>
    
    <item>
      <title>Hanami and Multi-Database Testing with Travis</title>
      <link>https://www.devroom.io/2016/04/15/hanami-and-multi-database-testing-with-travis/</link>
      <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2016/04/15/hanami-and-multi-database-testing-with-travis/</guid>
      <description>This is a re-post of my article over at Kabisa&amp;rsquo;s The Guild.
I&amp;rsquo;ve been busy rewriting Firefly for a while now using Hanami. Hanami is a fascinatingly fresh ruby web framework with a strong opinion on Clean Architecture. Me like!
Why test against different databases Initially I developed Firefly to use Sqlite for database storage. However, Sqlite is not always the best option. Running Firefly on Heroku for instance would be impractical, since Heroku&amp;rsquo;s architecture assumes you use a real database, like Postgres.</description>
    </item>
    
    <item>
      <title>Repair: Denon PMA 720A</title>
      <link>https://www.devroom.io/projects/repair-denon-pma-720a/</link>
      <pubDate>Sun, 10 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-denon-pma-720a/</guid>
      <description>A classic 1989 Denon PMA 720a Integrated Amp that made a bang and wont&amp;rsquo;t turn on. Let&amp;rsquo;s solve this!</description>
    </item>
    
    <item>
      <title>Repair: Marantz SR5200</title>
      <link>https://www.devroom.io/projects/repair-marantz-sr5200/</link>
      <pubDate>Thu, 21 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-marantz-sr5200/</guid>
      <description>A Marantz SR5200 receiver with a non-working front-right channel. Let&amp;rsquo;s fix that!</description>
    </item>
    
    <item>
      <title>Repair: Denon PMA-560</title>
      <link>https://www.devroom.io/projects/repair-denon-pma-560/</link>
      <pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/repair-denon-pma-560/</guid>
      <description>Log of diagnosing and repairing a Denon PMA560 Stereo integrated amplifier.</description>
    </item>
    
    <item>
      <title>Putting ariejan.net on a diet: a 69% reduction</title>
      <link>https://www.devroom.io/2016/01/06/putting-ariejan-net-on-a-diet-a-69-percent-reduction/</link>
      <pubDate>Wed, 06 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2016/01/06/putting-ariejan-net-on-a-diet-a-69-percent-reduction/</guid>
      <description>You may have recently read Website Obesity by Maciej Cegłowski, as featured on Hacker News. There&amp;rsquo;s a lot of great stuff in that article. The most obivous and striking thing is that there is a lot of bloat on the web. Examples include a tweet (140 characters) that is served as a 900kB website. How to optimize a website and remove bloat is a topic in and of itself. I can highly recommend the article mentioned above.</description>
    </item>
    
    <item>
      <title>El Capitan: Safari New Tab Slow Fix</title>
      <link>https://www.devroom.io/2015/12/04/el-capitan-safari-new-tab-slow-fix/</link>
      <pubDate>Fri, 04 Dec 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2015/12/04/el-capitan-safari-new-tab-slow-fix/</guid>
      <description>Safari is a great browser. I know there are alternatives, like Firefox and Chrome, but I like Safari.
Recently I noticed a lag of about 3-5 seconds when opening a new tab. I use tabs often, so this started to get in my way. Because I did not feel like switching browsers, I did some digging around to see if I could get this problem fixed.
Doing a quick Google search (after waiting a few seconds for that new tab), there was one quick suggestion:</description>
    </item>
    
    <item>
      <title>Rails generate model: be specific</title>
      <link>https://www.devroom.io/2015/11/27/rails-generate-model-be-specific/</link>
      <pubDate>Fri, 27 Nov 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2015/11/27/rails-generate-model-be-specific/</guid>
      <description>Rails can generate a lot of things for you. Personally I use generate model often to quickly setup a new model, including test files and a database migration. In its simplest form it looks like this:
1rails generate product This will get you started with a naked Product model. To make things easier, you can also supply attribute names:
1rails generate product name description:text Optionally, you can tell the generator what type of attribute you want.</description>
    </item>
    
    <item>
      <title>Building Golang CLI Tools Update</title>
      <link>https://www.devroom.io/2015/10/12/building-golang-cli-tools-update/</link>
      <pubDate>Mon, 12 Oct 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2015/10/12/building-golang-cli-tools-update/</guid>
      <description>In my previous post I discussed how to use a Makefile to set version and build information at compile time. Although this approach may work fine for you, it has three drawbacks I want to discuss.
1. Simplicity Andrew responded on the golang-nuts mailing list with the following comment:
To me it seems like you took something simple and cross platform &amp;ldquo;go generate&amp;rdquo; + &amp;ldquo;go install/build&amp;rdquo; and turned it into something more complicated and less portable.</description>
    </item>
    
    <item>
      <title>A makefile for Golang CLI tools</title>
      <link>https://www.devroom.io/2015/10/03/a-makefile-for-golang-cli-tools/</link>
      <pubDate>Sat, 03 Oct 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2015/10/03/a-makefile-for-golang-cli-tools/</guid>
      <description>Note: I&amp;rsquo;ve received feedback on this post and written an update, which you can read here
It&amp;rsquo;s no secret I love the power and simplicity of Go. To further train my skills I wrote a simple app that will roll dice from the command line, because you know, that&amp;rsquo;s very useful.
There are two goals for me in this project right now: make it trivial to use compile time variables and have a Makefile for easy compilation, installation and clean up.</description>
    </item>
    
    <item>
      <title>Postgresq error: type &#39;hstore&#39; does not exist</title>
      <link>https://www.devroom.io/2015/08/05/postgresql-error-type-hstore-does-not-exist/</link>
      <pubDate>Wed, 05 Aug 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2015/08/05/postgresql-error-type-hstore-does-not-exist/</guid>
      <description>Today I was programming and messed up my database schema in such a way that I just wanted to restore a recent backup and start over from there.
1dropdb app_development 2createdb app_development Unfortunately I ran into an error:
PostgreSQL error: type &amp;lsquo;hstore&amp;rsquo; does not exist
hstore is a Postgresql extension (available since postgresql-9.x) that allows you store sets of key/value pairs within a single Postgresql value (read column). Read more on hstore in the Postgresql documentation.</description>
    </item>
    
    <item>
      <title>Testing with MiniTest</title>
      <link>https://www.devroom.io/2015/04/07/testing-with-minitest/</link>
      <pubDate>Tue, 07 Apr 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2015/04/07/testing-with-minitest/</guid>
      <description>Ever since I started doing TDD I&amp;rsquo;ve used RSpec. It&amp;rsquo;s a great tool, and for a long time it was part of my standard testing stack. This stack also contains things like Cucumber and FactoryGirl.
Now, this stack works great. But that doesn&amp;rsquo;t mean it&amp;rsquo;s the best, it has its issues:
Cucumber Cucumber is, in almost every project, added complexity without any benefit. The idea behind cucumber is that it allows you to write your features / user stories in plain English and prove that those features are functional.</description>
    </item>
    
    <item>
      <title>Design: VoltMeister 100, a DIY Bench Power Supply</title>
      <link>https://www.devroom.io/projects/voltmeister-100-atx-bench-power-supply/</link>
      <pubDate>Mon, 24 Nov 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/projects/voltmeister-100-atx-bench-power-supply/</guid>
      <description>A bench power supply is one of the essential tools of any electronics hobbyist.Although you can buy a such a unit for less that € 50, it&amp;rsquo;s way more fun to build one yourself.</description>
    </item>
    
    <item>
      <title>Why I dropped fish in favour of Zsh</title>
      <link>https://www.devroom.io/2014/11/20/why-i-dropped-fish-in-favour-of-zsh/</link>
      <pubDate>Thu, 20 Nov 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/11/20/why-i-dropped-fish-in-favour-of-zsh/</guid>
      <description>Developers are religious about two things: their editor and their shell.
After getting multiple recommendations from friends and co-workers I gave fish a try. It lists several benefits over other shells, among other there&amp;rsquo;s autosuggetions, colour support and web based configuration.
Installing it on a Mac is easy with Homebrew, so I figured why not give it a fair try.
And yes, fish has its benefits. I used the web based configurator.</description>
    </item>
    
    <item>
      <title>Rails: Prevent Accidental Debugging Commits</title>
      <link>https://www.devroom.io/2014/10/15/rails-prevent-accidental-debugging-commits/</link>
      <pubDate>Wed, 15 Oct 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/10/15/rails-prevent-accidental-debugging-commits/</guid>
      <description>Your Rails app has grown over time, multiple developers have worked on the code and you are about to make a small change in the code.
Unfortunately this change applies to code that allows you to view a financial overview of last year’s data. It’s legally not allowed to expose the current year’s data, but the change you need to make applies only to 2014. We should shift time to 2015.</description>
    </item>
    
    <item>
      <title>Synchronize goroutines in your tests</title>
      <link>https://www.devroom.io/2014/08/29/synchronize-goroutines-in-your-tests/</link>
      <pubDate>Fri, 29 Aug 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/08/29/synchronize-goroutines-in-your-tests/</guid>
      <description>I have been working on an emulator for the MOS 6502 Microprocessor, written in Go. As part of this package I have also implemented a minimal 6551 Asynchronous Communication Interface Adapter. The 6551 provides serial IO and is easy to use in combination with the 6502.
When the microprocessor writes a byte to the 6551 it is stored in the tx (transmit) register where it&amp;rsquo;s available for other hardware components to read.</description>
    </item>
    
    <item>
      <title>GPG Sign Your Git Commits</title>
      <link>https://www.devroom.io/2014/06/04/gpg-sign-your-git-commits/</link>
      <pubDate>Wed, 04 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/06/04/gpg-sign-your-git-commits/</guid>
      <description>I have written and talked before about GPG and the need for trust on the internet.
Getting started with GPG and using it on a daily basis is, when you&amp;rsquo;re using the right tools, not all that hard, but still quite technical. Today Google announced they are working on a Chrome extention to enable end-to-end encryption using OpenPGP.
As a developer, I do more than dispatching emails all day. On occasion I write code.</description>
    </item>
    
    <item>
      <title>Testing $HOME with Cucumber and Aruba</title>
      <link>https://www.devroom.io/2014/04/15/testing-home-with-cucumber-and-aruba/</link>
      <pubDate>Tue, 15 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/04/15/testing-home-with-cucumber-and-aruba/</guid>
      <description>Cucumber and Aruba are awesome tools to write acceptance tests for your command line application. The allow you to do things like this:
1Scenario: Exit with 0 when no examples are run 2 Given a file named &amp;#34;a_no_examples_spec.rb&amp;#34; with: 3 &amp;#34;&amp;#34;&amp;#34;ruby 4 &amp;#34;&amp;#34;&amp;#34; 5 When I run `rspec a_no_examples_spec.rb` 6 Then the exit status should be 0 7 And the output should contain &amp;#34;0 examples&amp;#34; This example was taken from rspec-core.</description>
    </item>
    
    <item>
      <title>Dealing With Technical Debt</title>
      <link>https://www.devroom.io/2014/04/04/dealing-with-technical-debt/</link>
      <pubDate>Fri, 04 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/04/04/dealing-with-technical-debt/</guid>
      <description>The rails project I&amp;rsquo;m talking about is over three years old and has seen commits from 27 developers in that period. These developers were both co-workers, freelancers, off-shore developers and designers of different levels of expertise.
Technical Debt Inventory Needless to say, as most projects of this size and age, this one has plenty of technical debt. Let&amp;rsquo;s make an inventory.
The test suite takes approximately eighty minutes to run. These are all RSpec tests, including features.</description>
    </item>
    
    <item>
      <title>Pretty Difficult Privacy</title>
      <link>https://www.devroom.io/2014/04/03/pretty-difficult-privacy/</link>
      <pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/04/03/pretty-difficult-privacy/</guid>
      <description>Disclaimer: I could write books about online privacy, freedom of speech and how encryption fits into that picture. There are others out there who can do a better job at that and who have way more experience in crypto than I have.
So, I got a keybase.io invite. Awesome. But what problem is keybase trying to solve?
I created my first GPG key in 2000 by way of checking out shiny new things.</description>
    </item>
    
    <item>
      <title>To Blog or Not To Blog</title>
      <link>https://www.devroom.io/2014/04/03/to-blog-or-not-to-blog/</link>
      <pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2014/04/03/to-blog-or-not-to-blog/</guid>
      <description>My last post was 154 days ago. That&amp;rsquo;s about five months without writing a single post on this blog. I&amp;rsquo;ve been thinking about what this means and what happened, and here is what I discovered.
First of all I love writing. It has something peaceful to write down your experiences and thoughts. I also love that I can share these experiences with you, like 90.000 times each month, if I&amp;rsquo;m to believe analytics.</description>
    </item>
    
    <item>
      <title>Deploying with git-deploy</title>
      <link>https://www.devroom.io/2013/10/31/deploying-with-git-deploy/</link>
      <pubDate>Thu, 31 Oct 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2013/10/31/deploying-with-git-deploy/</guid>
      <description>I&amp;rsquo;ve blogged before about deploying Rails applications. Normally I opt for using capistrano, as it provides all the features I need and is pretty easy to customize if needed.
One of my previous strategies was to use capistrano to checkout a branch on a remote server, and git fetch that branch upon a new deployment.
The problem with capistrano, however, is that it can be quite slow from time to time.</description>
    </item>
    
    <item>
      <title>Divide and Conquer</title>
      <link>https://www.devroom.io/2013/05/23/divide-and-conquer/</link>
      <pubDate>Thu, 23 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2013/05/23/divide-and-conquer/</guid>
      <description>A few days ago I wrote about getting up early and getting stuff done (link).
After giving this a some more thought I figured out that there&amp;rsquo;s something else going on as well.
Getting up early and working during the quiet hours in the morning is not the only thing helping me be productive.
The other factor is having limited time.
The fact is that I have to make breakfast, shower and get out of the door for work on time.</description>
    </item>
    
    <item>
      <title>Early Birds</title>
      <link>https://www.devroom.io/2013/05/21/early-birds/</link>
      <pubDate>Tue, 21 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2013/05/21/early-birds/</guid>
      <description>Over the years I&amp;rsquo;ve often found myself behind my computer at two in the morning trying to finish a feature for a side-project and trying to keep my eyes open and focussed.
After a hack session until two or three in the morning, there would be a price to pay in the morning. Not even three alarms would wake me and I&amp;rsquo;d be grumpy all day long. The feature I wrote the evening before didn&amp;rsquo;t even look that good, so I&amp;rsquo;d be re-written or removed altogether.</description>
    </item>
    
    <item>
      <title>I&#39;m here for an argument</title>
      <link>https://www.devroom.io/2013/03/26/i-am-here-for-an-argument/</link>
      <pubDate>Tue, 26 Mar 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2013/03/26/i-am-here-for-an-argument/</guid>
      <description>When people make a request or proposal I often see them present their request and arguments using the following structure:
Make a request Give a plethora of arguments why that request is a good idea. An example:
I want to go to the zoo! Because I want to see animal Because I want to spend time with you Because it has been a long time Here I think, meh, the zoo.</description>
    </item>
    
    <item>
      <title>Automated nanoc deployments</title>
      <link>https://www.devroom.io/2013/03/25/automated-nanoc-deployments/</link>
      <pubDate>Mon, 25 Mar 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2013/03/25/automated-nanoc-deployments/</guid>
      <description>I&amp;rsquo;ve migrated ariejan.net from a custom Ruby on Rails application to a statically generated site with Nanoc.
Publishing my site now goes like this:
Write stuff in Markdown Commit and push Watch how jenkins builds and publishes the site with nanoc and rsync. Using nanoc Nanoc is a very powerful static site generator. You can use ruby to create helpers, filters and what not. Fancy using Sass, Compass and Haml? No problem!</description>
    </item>
    
    <item>
      <title>Review commits in your feature branch</title>
      <link>https://www.devroom.io/2013/03/08/review-commits-in-your-feature-branch/</link>
      <pubDate>Fri, 08 Mar 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2013/03/08/review-commits-in-your-feature-branch/</guid>
      <description>Github pull requests are awesome, but you can&amp;rsquo;t use them all the time, mostly when working on code not hosted at github.
The following snippet makes it easy to see the commits in your current (head) branch that are not yet in the base branch.
To see what commits are made in your current feature branch, but which have not been merged into develop yet:
1$ gpr develop 2* 5246248 &amp;lt;ariejan@ariejan.</description>
    </item>
    
    <item>
      <title>Instagram, Governments and Cypherpunks</title>
      <link>https://www.devroom.io/2012/12/18/instagram-governments-and-cypherpunks/</link>
      <pubDate>Tue, 18 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/12/18/instagram-governments-and-cypherpunks/</guid>
      <description>The whole internet collectively fell over Instagram earlier this week when they released their new Terms of Service.
Some or all of the Service may be supported by advertising revenue. To help us deliver interesting paid or sponsored content or promotions, you agree that a business or other entity may pay us to display your username, likeness, photos (along with any associated metadata), and/or actions you take, in connection with paid or sponsored content or promotions, without any compensation to you.</description>
    </item>
    
    <item>
      <title>Binary debugging with git bisect</title>
      <link>https://www.devroom.io/2012/11/29/binary-debugging-with-git-bisect/</link>
      <pubDate>Thu, 29 Nov 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/11/29/binary-debugging-with-git-bisect/</guid>
      <description>Part of resolving a bug is finding where and when that bug was introduced into your code. Not so much for blaming a specific person, but more for an understanding of how and maybe why the bug was introduced; and more over which versions of your app are affected.
Most of the time the bug was recently introduced and your CI notified you that stuff has been broken.
In order to find out when, how and by whom the build was broken, you&amp;rsquo;ll have to dig into your git history and run your specs to see if they pass or not.</description>
    </item>
    
    <item>
      <title>CustoMac</title>
      <link>https://www.devroom.io/2012/11/22/customac/</link>
      <pubDate>Thu, 22 Nov 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/11/22/customac/</guid>
      <description>Ever since Apple decided to put Intel processors in their Macs there have been attempts by enthusiasts to run Mac OS X on commodity hardware – with mixed results.
The key to installing Mac OS X on a non-Mac computer is using the right hardware. If your hardware is a close to Apple kit as possible, you have the best chance to succeed.
The so-called Hackintosh community has come a long way the past few years in making it easy for &amp;ldquo;normal people&amp;rdquo; to install Mac OS X on their PC.</description>
    </item>
    
    <item>
      <title>A Call to all CI Service Providers</title>
      <link>https://www.devroom.io/2012/11/05/a-call-to-all-ci-service-providers/</link>
      <pubDate>Mon, 05 Nov 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/11/05/a-call-to-all-ci-service-providers/</guid>
      <description>As a professional developer I test my code. Every check-in I do is tested either on Kabisa&amp;rsquo;s Jenkins server or on Travis CI Pro.
For open source projects there&amp;rsquo;s Travis CI. It&amp;rsquo;s free and a great way to get to know Travis.
Now, as an individual I have some side projects, most notably my own site, Ariejan.net. I value well written and well tested code as much for my own stuff as for my professional work.</description>
    </item>
    
    <item>
      <title>Decorating Sorcery&#39;s current_user with Draper</title>
      <link>https://www.devroom.io/2012/11/02/decorating_sorcery_current_user_with_draper/</link>
      <pubDate>Fri, 02 Nov 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/11/02/decorating_sorcery_current_user_with_draper/</guid>
      <description>I already wrote about how to apply your decorator to the current_user when you&amp;rsquo;re using Devise. However, the trick is a bit different when applied to Sorcery.
Instead of being nil when no user is signed in, Sorcery uses an explicit false value, no nil. In your ApplicationController at app/controllers/application_controller.rb add this:
1def current_user 2 UserDecorator.decorate(super) unless super == false 3end I&amp;rsquo;m using the most recent version of Draper by the way.</description>
    </item>
    
    <item>
      <title>A static file server in Go</title>
      <link>https://www.devroom.io/2012/10/04/a-static-file-server-in-go/</link>
      <pubDate>Thu, 04 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/10/04/a-static-file-server-in-go/</guid>
      <description>If you don&amp;rsquo;t know Go, you should really look into it. Today I was trying to figure out how to write a simple (and fast) static file server in Go.
As it turns out, this is very easy to do. Go contains (in the net/http package) a nice FileServer type that can server files from the directory you point it to.
Here&amp;rsquo;s a sweet and short example:
package main import ( &amp;quot;net/http&amp;quot; &amp;quot;log&amp;quot; ) func main() { err := http.</description>
    </item>
    
    <item>
      <title>Migrate git repositories</title>
      <link>https://www.devroom.io/2012/10/01/migrate-git-repositories/</link>
      <pubDate>Mon, 01 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/10/01/migrate-git-repositories/</guid>
      <description>Sometimes you have to move your git repository to another host. In this case I want to move a privately hosted git repository to a brand spanking new github repository.
These are four easy steps to get that done:
1git clone --bare git@yourserver.com:project.git 2cd project.git 3git push --mirror git@github.com:ariejan/project.git 4cd .. &amp;amp;&amp;amp; rm -rf project.git That&amp;rsquo;s it. Don&amp;rsquo;t forget to update the remote of your working copy accordingly:
1git remote set-url origin git@github.</description>
    </item>
    
    <item>
      <title>Git: Interactive Revert</title>
      <link>https://www.devroom.io/2012/09/04/git-interactive-revert/</link>
      <pubDate>Tue, 04 Sep 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/09/04/git-interactive-revert/</guid>
      <description>I recently made a commit in a project that, mistakenly, included changes to db/schema.rb. My local schema was out of date and this could cause trouble for the others in my team.
Luckily we use a successful git branching model so my changes were still up for review by the team.
The change I made was part of larger commit. But all I wanted was to revert serveral chunks from db/schema.</description>
    </item>
    
    <item>
      <title>Rails migrations: decimal precision and scale</title>
      <link>https://www.devroom.io/2012/08/28/rails-migrations-decimal-precision-and-scale/</link>
      <pubDate>Tue, 28 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/08/28/rails-migrations-decimal-precision-and-scale/</guid>
      <description>I&amp;rsquo;m always confused when using decimal in a Rails migration. Normally I need to store a value that has 2 or 3 numbers behind the comma (or dot), or decimals.
Let&amp;rsquo;s say you have a Product model with a discount_percentage attribute. This attribute is currently an integer, only allowing non-decimal values. To allow 2 digit decimal values (e.g. 12.54), you can mak the following migration:
1change_column :products, :discount_percentage, :decimal, precision: 5, scale: 2 This will allow you to store values like 80.</description>
    </item>
    
    <item>
      <title>Getting started with Arduino</title>
      <link>https://www.devroom.io/2012/08/27/getting-started-with-arduino/</link>
      <pubDate>Mon, 27 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/08/27/getting-started-with-arduino/</guid>
      <description>I&amp;rsquo;m a software engineer. I don&amp;rsquo;t do hardware.
Well, that used to be the case. I did build some PC&amp;rsquo;s back in the day, but that&amp;rsquo;s where my involvement with electronics hardware ended. That&amp;rsquo;s all changed after I purchased an Arduino.
Arduino Arduino is an easy to use hardare and software platform for designers, developers and tinkerers. What?
Well, Arduino is more than just a small piece of electronics hardware. It does include hardware.</description>
    </item>
    
    <item>
      <title>Move your latest commits to a separate branch</title>
      <link>https://www.devroom.io/2012/08/14/move-your-latest-commits-to-a-separate-branch/</link>
      <pubDate>Tue, 14 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/08/14/move-your-latest-commits-to-a-separate-branch/</guid>
      <description>The situation is pretty straightforward. You have been making commits for that new feature in your master branch. Naughty you!
Let&amp;rsquo;s assume you want to have this:
1A - B - (C) - D - E - F C was the last commit you pulled from origin and D, E and F are commits you just made but should have been in their own branch. This is what you wanted:</description>
    </item>
    
    <item>
      <title>VPN too complicated? Use a IP-over-SSH tunnel instead</title>
      <link>https://www.devroom.io/2012/07/11/vpn-too-complicated-use-a-ip-over-ssh-tunnel-instead/</link>
      <pubDate>Wed, 11 Jul 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/07/11/vpn-too-complicated-use-a-ip-over-ssh-tunnel-instead/</guid>
      <description>Some times you find yourself in a place where your Mac is safely tucked away behind a firewall. That&amp;rsquo;s great, but sometimes it is annoying as hell, because you need to access resources over FTP or contact people who&amp;rsquo;re on IRC.
The normal solution would be to setup a VPN with one of your servers elsewhere and connect to the outside world that way. Unfortunately, in all their wisdom, sys admins have probably closed up the proper ports to access your VPN server as well.</description>
    </item>
    
    <item>
      <title>Search and Replace in multiple files with Vim</title>
      <link>https://www.devroom.io/2012/06/18/search-and-replace-in-multiple-files-with-vim/</link>
      <pubDate>Mon, 18 Jun 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/06/18/search-and-replace-in-multiple-files-with-vim/</guid>
      <description>I recently learned a nice VimTrick™ when pairing with Arjan. We upgrade an app to Rails 3.2.6 and got the following deprecation message:
1DEPRECATION WARNING: :confirm option is deprecated and will be removed from Rails 4.0. 2Use &amp;#39;:data =&amp;gt; { :confirm =&amp;gt; &amp;#39;Text&amp;#39; }&amp;#39; instead. Well, nothing difficult about that, but we have quite a few :confirm in this app.
Firstly we checked where we used them (note we use ruby 1.</description>
    </item>
    
    <item>
      <title>SEO is bullshit</title>
      <link>https://www.devroom.io/2012/05/24/seo-is-bullshit/</link>
      <pubDate>Thu, 24 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/24/seo-is-bullshit/</guid>
      <description>I get quite a lot of &amp;ldquo;oh we can SEO optimize your site for you&amp;rdquo; emails lately. I don&amp;rsquo;t know why, but SEO is bullshit. Really. SEO is one of those areas of expertise that are total rubbish.
Common SEO advice The most common advise regarding SEO includes:
Getting links to your site Add tons of keywords so the Google Crawler knows what you&amp;rsquo;re talking about Add META data, lots of it Structure your page in some way for crawlers to understand better Add an XML sitemap There might be some merit in this, but you are optimizing your site for a crawler, a computer program that interprets your site.</description>
    </item>
    
    <item>
      <title>How Star Trek has shaped our technology and future</title>
      <link>https://www.devroom.io/2012/05/23/how-star-trek-has-shaped-our-technology-and-future/</link>
      <pubDate>Wed, 23 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/23/how-star-trek-has-shaped-our-technology-and-future/</guid>
      <description>You have probably watched Star Trek. Even if you don&amp;rsquo;t like it, I bet you&amp;rsquo;ve seen at least a few episodes of The Next Generation or a movie.
Regardless of you opinion on Star Trek, its cool to see that current technology was only Science-Fiction ten or twenty years ago.
Let&amp;rsquo;s start with a simple example - the Communicator. Press a button and talk to anyone wirelessly, wherever they are. Reminds you of that mobile phone you carry around all day, doesn&amp;rsquo;t it?</description>
    </item>
    
    <item>
      <title>Ruby: regex scanning in a case statement</title>
      <link>https://www.devroom.io/2012/05/22/ruby-regex-scanning-in-a-case-statement/</link>
      <pubDate>Tue, 22 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/22/ruby-regex-scanning-in-a-case-statement/</guid>
      <description>Here&amp;rsquo;s a handy ruby snippet that might come in handy one day.
When the regex matches (input should end with &amp;quot; today&amp;quot;), you can directly grab the matched value using the special $1 variable.
1case input 2when /(.*)\stoday$/i then 3 puts &amp;#34;Today: #{$1}&amp;#34; 4end I think you can see how you can bend this to your own needs.</description>
    </item>
    
    <item>
      <title>What&#39;s causing all that disk I/O on my Mac?</title>
      <link>https://www.devroom.io/2012/05/21/what-s-causing-all-that-disk-i-o-on-my-mac/</link>
      <pubDate>Mon, 21 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/21/what-s-causing-all-that-disk-i-o-on-my-mac/</guid>
      <description>After doing a full re-install of my MacBook Pro a few weeks back to combat system slowness, I&amp;rsquo;m again struck with a slow system.
The problem is that there&amp;rsquo;s a lot of disk I/O going on. CPU and memory are fine. I&amp;rsquo;m just not sure what&amp;rsquo;s causing this trouble.
Luckily, there&amp;rsquo;s an easy solution to find out what&amp;rsquo;s doing disk I/O on you mac.
Open up a terminal and run</description>
    </item>
    
    <item>
      <title>Why Diablo 3&#39;s DRM is the best kind there is</title>
      <link>https://www.devroom.io/2012/05/20/why-diablo-3-s-drm-is-the-best-kind-there-is/</link>
      <pubDate>Sun, 20 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/20/why-diablo-3-s-drm-is-the-best-kind-there-is/</guid>
      <description>I just tried to play Diablo 3, but could not log on due to server maintenance. Blizzard requires you to be always online to play even single player campaigns. I&amp;rsquo;ve seen a lot of people rage about this, but Blizzard actually has very good reasons to do this. And they even kept you, as a player, in mind!
First of all, what Blizzard is doing is not really DRM.
Digital Rights Management is making sure you have authorization (from the providing party) to do something off-line.</description>
    </item>
    
    <item>
      <title>What happened to downloading games from The Pirate Bay?</title>
      <link>https://www.devroom.io/2012/05/19/what-happened-to-downloading-games-from-the-pirate-bay/</link>
      <pubDate>Sat, 19 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/19/what-happened-to-downloading-games-from-the-pirate-bay/</guid>
      <description>This post is on piracy. Piracy of software, games, movies, music and other virtual goods.
Before I continue writing this post let me confess to you that I used to use pirated software. I played games downloaded from the internet. And movies I watches &amp;lsquo;on demand&amp;rsquo; by downloading them when I wanted to. There were times when there were no legally purchased songs on my iPod.
After reinstalling my Mac a few weeks ago I noticed something remarkable.</description>
    </item>
    
    <item>
      <title>Running a different ruby with Passenger 3.2 and RVM</title>
      <link>https://www.devroom.io/2012/05/11/running-a-different-ruby-with-passenger-3-2-and-rvm/</link>
      <pubDate>Fri, 11 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/05/11/running-a-different-ruby-with-passenger-3-2-and-rvm/</guid>
      <description>Passenger 3.2 will have quite some nice new features. 1 2
The features I&amp;rsquo;m looking forward to most is the ability to specify - per virtual server - which ruby to use.
Before, you installed passenger and specified the required ruby version using passenger_ruby, like this in your nginx.conf:
http { passenger_root /opt/passenger; passenger_ruby /usr/local/bin/ruby; server { server_name ariejan.net; passenger_enabled on; } } Now, if you added another server it would be forced to use the same ruby version.</description>
    </item>
    
    <item>
      <title>Decorating Devise&#39;s current_user with Draper</title>
      <link>https://www.devroom.io/2012/04/14/decorating-devise-s-current_user-with-draper/</link>
      <pubDate>Sat, 14 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/04/14/decorating-devise-s-current_user-with-draper/</guid>
      <description>I&amp;rsquo;ve become a big fan of decorators, especially Draper.
Decorators allow you to move view related functionality for your models in to separate decorator classes. This keeps both your models and views clean and readable.
Anyway, if you use Devise you&amp;rsquo;re provided with a current_user helper. However, this helper returns an instance of User - without your decorators. To enable decorators for your current_user by default, simple add this to app/controllers/application_controller.</description>
    </item>
    
    <item>
      <title>Eindhoven.rb Lightning Talk: Gitlab</title>
      <link>https://www.devroom.io/2012/04/06/eindhoven-rb-lightning-talk-gitlab/</link>
      <pubDate>Fri, 06 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/04/06/eindhoven-rb-lightning-talk-gitlab/</guid>
      <description>These are the slides of my Eindhoven.rb lightning talk. The topic is Gitlab, why it&amp;rsquo;s awesome and how it relates to Github.
If you have any questions about Gitlab, feel free to contact me or visit the Gitlab Mailinglist</description>
    </item>
    
    <item>
      <title>Showing Ruby, Rails and git info in your app</title>
      <link>https://www.devroom.io/2012/04/02/showing-ruby-rails-and-git-info-in-your-app/</link>
      <pubDate>Mon, 02 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/04/02/showing-ruby-rails-and-git-info-in-your-app/</guid>
      <description>Some people&amp;rsquo;ve asked me how I show rendering information on ariejan.net.
There are a few things going on here, let me explain them one by one.
Rails version The current Rails version is probably the easiest you see here. Rails exposes its version information like this:
Rails.version Ruby version Ruby also exposes version information, albeit using constants:
RUBY_VERSION =&amp;gt; &amp;quot;1.9.3&amp;quot; You may know that ruby also has different patch levels for each release.</description>
    </item>
    
    <item>
      <title>From 11.34s to 0.625s for opening a .rb file in Vim</title>
      <link>https://www.devroom.io/2012/03/21/from-11-34s-to-0-625s-for-opening-a-rb-file-in-vim/</link>
      <pubDate>Wed, 21 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/03/21/from-11-34s-to-0-625s-for-opening-a-rb-file-in-vim/</guid>
      <description>Would you believe me if I told you that opening a simple Ruby file on my 2011 MacBook Pro takes 11.34 seconds?
To test this, I&amp;rsquo;ve used this command:
$ vim --startuptime log-before.txt app/models/user.rb This command will time everything that Vim does until the file is ready for you to edit down to the millisecond. This is a great way to find out what&amp;rsquo;s slowing things down.
I&amp;rsquo;ll highlight the most interesting parts of log-before.</description>
    </item>
    
    <item>
      <title>Redis using 2GB of memory on 70MB data set - the fix</title>
      <link>https://www.devroom.io/2012/03/21/redis-using-2gb-of-memory-on-70mb-data-set-the-fix/</link>
      <pubDate>Wed, 21 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/03/21/redis-using-2gb-of-memory-on-70mb-data-set-the-fix/</guid>
      <description>For Ariejan.net I use redis to cache pages and shards. This works great and all, but today I noticed something alarming:
redis	Running	3d 12h 4m 0.0%	45.2% [1829556 kB] Yes, that&amp;rsquo;s about 1.7 GB of RAM. That&amp;rsquo;s way too much for what I cache. Let&amp;rsquo;s see what redis has to say for itself:
$ redis-cli redis 127.0.0.1:6379&amp;gt; info redis_version:2.2.12 ... connected_clients:5 connected_slaves:0 used_memory:71626608 used_memory_human:68.31M used_memory_rss:1873465344 mem_fragmentation_ratio:26.16 Well, that&amp;rsquo;s awkward. The OS is reporting 1.</description>
    </item>
    
    <item>
      <title>Open Source is a privilege. Not a right.</title>
      <link>https://www.devroom.io/2012/03/20/open-source-is-a-privilege-not-a-right/</link>
      <pubDate>Tue, 20 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/03/20/open-source-is-a-privilege-not-a-right/</guid>
      <description>Edit: this is not a Gitlab specific issue. I&amp;rsquo;ve seen it before and I&amp;rsquo;m seeing it again at the Gitlab project.
The past few months I&amp;rsquo;ve been contributing to the Gitlab project. This has been a great experience, mostly because Gitlab has become a very popular project with over 2.3k watchers right now.
It gives me great satisfaction knowing that my code is being used by hundreds if not thousands of people right now.</description>
    </item>
    
    <item>
      <title>Removing untracked files and directories with git</title>
      <link>https://www.devroom.io/2012/01/10/removing-untracked-files-and-directories-with-git/</link>
      <pubDate>Tue, 10 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2012/01/10/removing-untracked-files-and-directories-with-git/</guid>
      <description>I just tried writing some new code, but it was no success. This happens, but it left me with a working copy littered with new and changed files.
# Changes not staged for commit: # (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to update what will be committed) # (use &amp;quot;git checkout -- &amp;lt;file&amp;gt;...&amp;quot; to discard changes in working directory) # #	modified: config/routes.rb # # Untracked files: # (use &amp;quot;git add &amp;lt;file&amp;gt;...&amp;quot; to include in what will be committed) # # db/migrate/20111231131752_create_validations.</description>
    </item>
    
    <item>
      <title>Recursively fixing file and directory permissions</title>
      <link>https://www.devroom.io/2011/12/13/recursively-fixing-file-and-directory-permissions/</link>
      <pubDate>Tue, 13 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/12/13/recursively-fixing-file-and-directory-permissions/</guid>
      <description>While working on a Gitlab installation I noticed that all repository file permissions were off. Fixing recursive file and directory permissions can be quite hard. Or so I thought.
Using the following commands (in plain Bash) allow you to recursively set permissions for files and directories. So, to fix the proper read permissions on your Gitlab repositories you can use this:
1# Go to your git repositories directory (as git or the gitlab user) 2cd /home/git/repositories 3 4# Fix ownership 5sudo chown -R git:git * 6 7# Fix directory permissions 8sudo find -type d -exec chmod 770 {} \; 9 10# Fix file permissions 11sudo find -type f -exec chmod 660 {} \; After this, your Gitlab should have no trouble accessing your code (e.</description>
    </item>
    
    <item>
      <title>Upgrade postgresql-8.4 to postgresql-9.1 on debian</title>
      <link>https://www.devroom.io/2011/11/22/upgrade-postgresql-8-4-to-postgresql-9-1-on-debian/</link>
      <pubDate>Tue, 22 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/11/22/upgrade-postgresql-8-4-to-postgresql-9-1-on-debian/</guid>
      <description>Today I upgraded a production PostgreSQL 8.4 database to version 9.1. This was on a Debian server. ~ The first step is to make a full dump of your data. I personally like to store that dump somewhere safe before upgrading. As root:
1su - postgres 2pg_dumpall &amp;gt; dump.sql 3exit 4cp ~postgres/dump.sql /root/ Now you can safely remove the postgresql-8.4 and install postgresql-9.1:
1aptitude purge postgresql-8.4 2aptitude install postgresql-9.1 Next check the postgresql configuration in /etc/postgresql/9.</description>
    </item>
    
    <item>
      <title>Deploying a third-party Rails application - like Gitlab</title>
      <link>https://www.devroom.io/2011/11/18/deploying-a-third-party-rails-application-like-gitlab/</link>
      <pubDate>Fri, 18 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/11/18/deploying-a-third-party-rails-application-like-gitlab/</guid>
      <description>We all know how to deploy our own Rails projects. (If not, read this guide.) But how do you handle deploying a third-party application that may require some customisation on your part?
A good example would be Gitlab
Gitlab is an open source Github clone, build using Ruby on Rails. It&amp;rsquo;s a nice project that uses Gitosis under the hood to manage your git repositories. There are several good installation guides available on the web, but they all assume you want to deploy gitlab verbatim - without any modification or configuration</description>
    </item>
    
    <item>
      <title>Contributing to Open-Source with Github</title>
      <link>https://www.devroom.io/2011/11/09/contributing-to-open-source-with-github/</link>
      <pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/11/09/contributing-to-open-source-with-github/</guid>
      <description>You want to contribute to an open-source project, but are scared away by all the git-complexity involved? This small guide will help you out.
Step 1 - Fork, fork, fork First create a fork of the original project. You can do this easily by clicking the &amp;ldquo;Fork&amp;rdquo; button on the top of the Github project page. This will give you your own copy (fork) of the entire repository.
Then, check out your fork:</description>
    </item>
    
    <item>
      <title>Fixing a slow starting Terminal or iTerm2 on Mac OS X</title>
      <link>https://www.devroom.io/2011/11/08/fixing-a-slow-starting-terminal-or-iterm2-on-mac-os-x/</link>
      <pubDate>Tue, 08 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/11/08/fixing-a-slow-starting-terminal-or-iterm2-on-mac-os-x/</guid>
      <description>For some time I have been annoyed with how slow my Terminal (in my case iTerm2) starts up. It would take 5-10 seconds before I was presented a prompt. Being in the console for the better part of the day, this was unacceptable.
The first thing I did was upgrade Bash to Zsh. I&amp;rsquo;d heard great things about Zsh, so I thought I&amp;rsquo;d give it a try. Zsh is really awesome, but it did not fix the start-up delay I was experiencing previously with Bash.</description>
    </item>
    
    <item>
      <title>Installing Node.js and NPM on Ubuntu/Debian</title>
      <link>https://www.devroom.io/2011/10/24/installing-node-js-and-npm-on-ubuntu-debian/</link>
      <pubDate>Mon, 24 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/10/24/installing-node-js-and-npm-on-ubuntu-debian/</guid>
      <description>This is just short snippet on how to install Node.js (any version) and NPM (Node Package Manager) on your Ubuntu/Debian system.
Step 1 - Update your system 1sudo apt-get update 2sudo apt-get install git-core curl build-essential openssl libssl-dev python Step 2 - Install Node.js First, clone the Node.js repository:
1git clone https://github.com/nodejs/node.git 2cd node Now, if you require a specific version of Node:
1git tag # Gives you a list of released versions 2git checkout v13.</description>
    </item>
    
    <item>
      <title>Automatically switch between SSL and non-SSL with Nginx&#43;Unicorn&#43;Rails</title>
      <link>https://www.devroom.io/2011/10/22/automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails/</link>
      <pubDate>Sat, 22 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/10/22/automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails/</guid>
      <description>Scroll down for setup instructions. Or, read this bit about SSL in the real world first.
SSL or Secure Socket Layer is a nice way to secure sensitive parts of your Rails application. It achieves to goals.
Firstly is encrypts all traffic between you and the remote server. Consider the passwords and personal information you submit to websites. When unencrypted (using HTTP), all this data is sent over the internet for all to read.</description>
    </item>
    
    <item>
      <title>Rails 3: Customized exception handling</title>
      <link>https://www.devroom.io/2011/10/14/rails-3-customized-exception-handling/</link>
      <pubDate>Fri, 14 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/10/14/rails-3-customized-exception-handling/</guid>
      <description>Exceptions happen. There&amp;rsquo;s no way around that. But not all exceptions are created equally.
For instance, a 404 &amp;ldquo;Not found&amp;rdquo; error can (and should) be handled correctly in your application.
Let me give you an example of how to handle a ActiveRecord::RecordNotFound exception. Let&amp;rsquo;s assume you have an application that could show a user profile:
1# GET /p/:name 2def show 3 @profile = Profile.find(params[:name]) 4end Now, it may happen that the :name paramater contains a value that cannot be found in our database, most likely because someone made a typo in the URL.</description>
    </item>
    
    <item>
      <title>Fast specs - Run your specs in less than 1 second</title>
      <link>https://www.devroom.io/2011/10/13/fast-specs-run-your-specs-in-less-than-1-second/</link>
      <pubDate>Thu, 13 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/10/13/fast-specs-run-your-specs-in-less-than-1-second/</guid>
      <description>Okay, let me clarify that title first. I, as most of you, have two sets of tests for my Rails application: rspec and cucumber. rspec heavily focusses on testing models and business logic while cucumber focusses on testing the entire application stack and user interaction.
The problem is that as your app grows, your test set grows - and so does the time it takes to run those tests.
This post is inspired by Corey Haines&amp;rsquo; talk at Arrrrcamp (Oct 2011) and my own experience with writing fast specs.</description>
    </item>
    
    <item>
      <title>Testing Rails 3 scopes revisited</title>
      <link>https://www.devroom.io/2011/10/09/testing-rails-3-scopes-revisited/</link>
      <pubDate>Sun, 09 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/10/09/testing-rails-3-scopes-revisited/</guid>
      <description>In my previous article I told you about how I like to tests my scope. There was a fair amount of criticism on that post and after considering it all (and hearing Corey Haines&amp;rsquo; talk on Arrrrcamp last friday), I&amp;rsquo;m convinced it&amp;rsquo;s the wrong path.
In essence Rails allows you to create a scope to generate a custom database query for you. Now, if you only test your configuration of Rails (as I did in my previous post), you don&amp;rsquo;t know if that scope works or not.</description>
    </item>
    
    <item>
      <title>Properly testing Rails 3 scopes</title>
      <link>https://www.devroom.io/2011/09/25/properly-testing-rails-3-scopes/</link>
      <pubDate>Sun, 25 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/09/25/properly-testing-rails-3-scopes/</guid>
      <description>The content of this post is no longer correct. Please read this article for details.
Testing scopes has always felt a bit weird to me. Normally I&amp;rsquo;d do something like this:
1class Post &amp;lt; ActiveRecord::Base 2 scope :published, where(:published =&amp;gt; true) 3 scope :latest, order(&amp;#34;created_at DESC&amp;#34;) 4end 5 6describe Post do 7 context &amp;#39;scopes&amp;#39; do 8 before(:all) do 9 @first = FactoryGirl.create(:post, :created_at =&amp;gt; 1.day.ago, :published =&amp;gt; true) 10 @last = FactoryGirl.</description>
    </item>
    
    <item>
      <title>RSpec speed-up (24.6%) by tweaking ruby garbage collection</title>
      <link>https://www.devroom.io/2011/09/24/rspec-speed-up-by-tweaking-ruby-garbage-collection/</link>
      <pubDate>Sat, 24 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/09/24/rspec-speed-up-by-tweaking-ruby-garbage-collection/</guid>
      <description>[Today I learned][1] that Ruby garbage collection can be of huge importance to performance. More precisely, if Ruby does a lot of garbage collection it may slow down your code. Running garbage collection only every 10 or 20 seconds when running specs may increase performance dramatically.
At this time specs for Ariejan.net take an average of 25.29s to run. This is not bad, but in my opinion faster specs are better.</description>
    </item>
    
    <item>
      <title>Capistrano and the custom maintenance page</title>
      <link>https://www.devroom.io/2011/09/19/capistrano-and-the-custom-maintenance-page/</link>
      <pubDate>Mon, 19 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/09/19/capistrano-and-the-custom-maintenance-page/</guid>
      <description>Randuin posted a comment on my previous Lighting fast, zero-downtime deployments with git, capistrano, nginx and Unicorn post asking how I handle database migrations. This is a good question.
Database migrations, especially with large datasets, take a long time to run. They also lock your database tables which may cause all kinds of trouble.
There&amp;rsquo;s a quite an easy solution for this, offered to us by Capistrano. Unfortunately it will cause downtime for your site while the migration is running.</description>
    </item>
    
    <item>
      <title>Lighting fast, zero-downtime deployments with git, capistrano, nginx and Unicorn</title>
      <link>https://www.devroom.io/2011/09/14/lighting-fast-zero-downtime-deployments-with-git-capistrano-nginx-and-unicorn/</link>
      <pubDate>Wed, 14 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/09/14/lighting-fast-zero-downtime-deployments-with-git-capistrano-nginx-and-unicorn/</guid>
      <description>Everyone who has ever developed a web app has had to deploy it. Back in the day you simply uploaded your files with FTP and everything would be good. Today we have to clone git repositories, restart servers, set permissions, create symlinks to our configuration files, clean out caches and what not.
Doctor, what&amp;rsquo;s wrong? In my opinion there are two critical problems with deployments today:
They are slow They cause downtime Both topics have been discussed by the likes of Twitter and Github.</description>
    </item>
    
    <item>
      <title>Git: checkout a single file from another commit or branch</title>
      <link>https://www.devroom.io/2011/09/13/git-checkout-a-single-file-from-another-commit-or-branch/</link>
      <pubDate>Tue, 13 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/09/13/git-checkout-a-single-file-from-another-commit-or-branch/</guid>
      <description>I recently worked on a new feature in a separate branch. It didn&amp;rsquo;t work out well, so I branched master again and tried another solution. However, I needed a specific filesI committed in the first feature branch. To avoid placing those files back in my working copy by hand, I used git to checkout the specific file from the other branch.
1git checkout feature_1 -- path/to/file/iwant This will not checkout the feature_1 branch, but instead checkout the most recent version of path/to/file/iwant in the feature_1 branch.</description>
    </item>
    
    <item>
      <title>Git: remove, reset and rollback commits</title>
      <link>https://www.devroom.io/2011/09/08/git-remove-reset-and-rollback-commits/</link>
      <pubDate>Thu, 08 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/09/08/git-remove-reset-and-rollback-commits/</guid>
      <description>We&amp;rsquo;ve all been there, you committed changes you now regret. If you didn&amp;rsquo;t share those commits with anyone yet, you&amp;rsquo;re safe. Let me show you how to remove commits from your local repository. I&amp;rsquo;ll also include an example how to roll back commits you already did share with others. ~ Use git log to see your most recent commits. Let&amp;rsquo;s say you want to revert the last three commits, you can run the following command:</description>
    </item>
    
    <item>
      <title>Git Log: What did I do yesterday, exactly?</title>
      <link>https://www.devroom.io/2011/08/24/git-log-what-did-i-do-yesterday-exactly/</link>
      <pubDate>Wed, 24 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/08/24/git-log-what-did-i-do-yesterday-exactly/</guid>
      <description>Sometimes you have to take your git repository&amp;rsquo;s log to see what you did the day before (ideal in preparation for the daily stand-up). What I want is a clean overview of each commit messages, their author and the time. The output result should be easily grep-able so I can filter stuff I don&amp;rsquo;t need out. ~ To do this, I use the following custom git log command:
1git log --pretty=format:&amp;#39;%Cred%h%Creset - %C(yellow)%ae%Creset - %Cgreen%cd%Creset - %s%Creset&amp;#39; --abbrev-commit --date=iso The result:</description>
    </item>
    
    <item>
      <title>Git: Squash your latests commits into one</title>
      <link>https://www.devroom.io/2011/07/05/git-squash-your-latests-commits-into-one/</link>
      <pubDate>Tue, 05 Jul 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/07/05/git-squash-your-latests-commits-into-one/</guid>
      <description>With git it&amp;rsquo;s possible to squash previous commits into one. This is a great way to group certain changes together before sharing them with others. ~ Here&amp;rsquo;s how to squash some commits into one. Let&amp;rsquo;s say this is your current git log.
1* df71a27 - (HEAD feature_x) Updated CSS for new elements (4 minutes ago) 2* ba9dd9a - Added new elements to page design (15 minutes ago) 3* f392171 - Added new feature X (1 day ago) 4* d7322aa - (origin/feature_x) Proof of concept for feature X (3 days ago) You have a branch feature_x here.</description>
    </item>
    
    <item>
      <title>Your Mac slow? Disable Spotlight in Snow Leopard</title>
      <link>https://www.devroom.io/2011/06/27/your-mac-slow-disable-spotlight-in-snow-leopard/</link>
      <pubDate>Mon, 27 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/06/27/your-mac-slow-disable-spotlight-in-snow-leopard/</guid>
      <description>For some time now I&amp;rsquo;ve experience my mac to be very slow. Opening Vim would take minutes. Creating a new Tab in iTerm would take more than 20 seconds. What the hell is going on - this is a brand new MacBook Pro! ~ After investigating, using Activity Monitor I discovered the following:
CPU&amp;rsquo;s idling at 3-5% usage +500M free RAM +200G free disk space Negligible amount of network traffic Very high amount of disk I/O writes (&amp;gt; 450w/s) What&amp;rsquo;s causing disk I/O?</description>
    </item>
    
    <item>
      <title>Git: What files were changed since the last release?</title>
      <link>https://www.devroom.io/2011/06/24/git-what-files-were-changed-since-the-last-release/</link>
      <pubDate>Fri, 24 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/06/24/git-what-files-were-changed-since-the-last-release/</guid>
      <description>Sometimes it handy to get a list out of git log that tells you which files were changed since your last release. It&amp;rsquo;s not straight forward, but very doable with the help of git log and grep. ~ Let&amp;rsquo;s say you want to view all the changed files since the last tagged release, v1.3.1:
1git log --reverse --name-status HEAD...v1.3.1 | grep -e ^[MAD][[:space:]] As you&amp;rsquo;re used to, this shows each files that Added, Modified or Deleted.</description>
    </item>
    
    <item>
      <title>Crowd sourcing your BitCoin mining</title>
      <link>https://www.devroom.io/2011/06/23/crowd-sourcing-your-bitcoin-mining/</link>
      <pubDate>Thu, 23 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/06/23/crowd-sourcing-your-bitcoin-mining/</guid>
      <description>[BitCoin][1] is a hip new currency using peer-to-peer networking to process transactions. You can either buy it from others, or mine it by solving math puzzles. Would it be possible to crowd source the mining process to visitors of your website? [1]: http://bitcoin.org ~
What&amp;rsquo;s BitCoin anyway? BitCoin (BTC) is not distributed by a central bank, but is generated by its users. In order to mine BTC, your computer must solve math puzzles.</description>
    </item>
    
    <item>
      <title>Vows and CoffeeScript</title>
      <link>https://www.devroom.io/2011/06/10/vows-and-coffeescript/</link>
      <pubDate>Fri, 10 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/06/10/vows-and-coffeescript/</guid>
      <description>CoffeeScript is a really nice way to write JavaScript code. Combined with NodeJS you are empowered by a very fast platform to develop server-side applications. Of course, you want to test these apps as well. Vows is really great way to do this. Unfortunately it&amp;rsquo;s not straight forward (yet) to set up NodeJS + CoffeeScript + Vows.
~ First off, make sure you have CoffeeScript and Vows installed. Here I install them globally so you can use the coffee and vows command line utilities.</description>
    </item>
    
    <item>
      <title>Rake with namespaces and default tasks</title>
      <link>https://www.devroom.io/2011/04/04/rake-with-namespaces-and-default-tasks/</link>
      <pubDate>Mon, 04 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/04/04/rake-with-namespaces-and-default-tasks/</guid>
      <description>Rake is an awesome tool to automate tasks for your Ruby (or Rails) application. In this short article I&amp;rsquo;ll show you how to use namespaces and set default tasks for them. ~ Let me first tell you what I want to accomplish. I have a Rails application that needs to be cleaned up occasionally. Essetially we delete old data from the database.
There are several models that each implement a cleanup!</description>
    </item>
    
    <item>
      <title>Rails 3 &#43; Devise &#43; Uploadify = No Flash Session Hacks</title>
      <link>https://www.devroom.io/2011/03/27/rails-3-devise-uploadify-no-flash-session-hacks/</link>
      <pubDate>Sun, 27 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/03/27/rails-3-devise-uploadify-no-flash-session-hacks/</guid>
      <description>Uploadify is a great project to provide file uploads in your project. The problem is, it&amp;rsquo;s written in flash.
Besides the point that it is flash, there&amp;rsquo;s something else that has been bothering me a lot: sessions. ~ The problem is like this. When a browsers opens a connection to your Rails app, it has a session. Normally, session information is stored a cookie that is sent with every request. This session also contains information needed for you to stay logged in as a particular user.</description>
    </item>
    
    <item>
      <title>Narf: A Ruby Micro Test Framework</title>
      <link>https://www.devroom.io/2011/02/11/narf-a-ruby-micro-test-framework/</link>
      <pubDate>Fri, 11 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/02/11/narf-a-ruby-micro-test-framework/</guid>
      <description>I&amp;rsquo;m a happy user of RSpec, Cucumber and sometimes Steak. Great tools to write specs and features and prove my application does what it&amp;rsquo;s supposed to do. But sometimes I have the need for something more light weight. ~ For example, sometimes I need to write a single ruby method. Just something &amp;lsquo;quick&amp;rsquo; to import a file, convert some data or whatever. Being a good citizen I want to test that method.</description>
    </item>
    
    <item>
      <title>Using your Firefly URL Shortener with Twitter for iPhone</title>
      <link>https://www.devroom.io/2011/02/07/using-your-firefly-url-shortener-with-twitter-for-iphone/</link>
      <pubDate>Mon, 07 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/02/07/using-your-firefly-url-shortener-with-twitter-for-iphone/</guid>
      <description>The Twitter for iPhone app (itunes) can be configured to use your very own Firefly URL shortener! Here&amp;rsquo;s how.
~ Actually, it&amp;rsquo;s quite simple. First, setup your own Firefly instance, possibly using Heroku.
When that&amp;rsquo;s done, simple open Twitter for iPhone, then follow this path:
Tap the three dots Open &amp;ldquo;Accounts &amp;amp; Settings&amp;rdquo; Tap the &amp;ldquo;Settings&amp;rdquo; button at the bottom Open &amp;ldquo;Services&amp;rdquo; Choose &amp;ldquo;URL Shortening&amp;rdquo; Then pick &amp;ldquo;Custom&amp;hellip;&amp;rdquo; All right, you&amp;rsquo;re now ready to enter your magic URL.</description>
    </item>
    
    <item>
      <title>Hot: Firefly 1.3.0 URL Shortener released</title>
      <link>https://www.devroom.io/2011/02/01/hot-firefly-130-url-shortener-released/</link>
      <pubDate>Tue, 01 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/02/01/hot-firefly-130-url-shortener-released/</guid>
      <description>I&amp;rsquo;ve been doing some work on Firefly lately and tonight I&amp;rsquo;ve released version 1.3.0. If you&amp;rsquo;re using Firefly it&amp;rsquo;s recommended you upgrade to the latest and greatest version. ~ For those who missed it: Firefly is a simple URL shortener gem that can be used to host your own personal (or corporate) URL shortner on your own domain. Since Firefly is rack-based, it&amp;rsquo;s easy to deploy to Heroku or other ruby hosting providers.</description>
    </item>
    
    <item>
      <title>Rake task to sync your assets to Amazon S3/Cloudfront</title>
      <link>https://www.devroom.io/2011/01/01/rake-task-to-sync-your-assets-to-amazon-s3cloudfront/</link>
      <pubDate>Sat, 01 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2011/01/01/rake-task-to-sync-your-assets-to-amazon-s3cloudfront/</guid>
      <description>With my move to Heroku I felt bad about having Heroku&amp;rsquo;s app servers serve static content for me. It&amp;rsquo;s not really a problem, but I just like to use the best tool available for the job.
Because Ariejan.net is a rack app, it has a public directory with all static assets in once place. There are, however, a few problems that need adressing. ~
These are the problems I want to resolve:</description>
    </item>
    
    <item>
      <title>Now powered by Heroku</title>
      <link>https://www.devroom.io/2010/12/31/now-powered-by-heroku/</link>
      <pubDate>Fri, 31 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/12/31/now-powered-by-heroku/</guid>
      <description>This is just a quick note to let everyone know Ariejan.net is now proudly hosted by Heroku. Since this site is powered by a toto (a rack-based blog engine) and no database, Heroku is the perfect hosting solution.
~
All articles are simple text files (with some YAML front-matter to specify title, tags, etc.) and are kept under Git version control. Deploying Ariejan.net is a simple git push to Heroku.</description>
    </item>
    
    <item>
      <title>Public Readable Amazon S3 Bucket Policy</title>
      <link>https://www.devroom.io/2010/12/24/public-readable-amazon-s3-bucket-policy/</link>
      <pubDate>Fri, 24 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/12/24/public-readable-amazon-s3-bucket-policy/</guid>
      <description>Amazon S3 allows you to set per-file permissions to grant read and/or write access. This is nice, but sometimes you just want to share your whole bucket with the world.
Luckily, Amazon features bucket policies, which allow you to define permissions for an entire bucket. ~ This example will give read access to Everyone on all files in your bucket.
1{ 2	&amp;#34;Version&amp;#34;:&amp;#34;2008-10-17&amp;#34;, 3	&amp;#34;Statement&amp;#34;:[{ 4	&amp;#34;Sid&amp;#34;:&amp;#34;AllowPublicRead&amp;#34;, 5	&amp;#34;Effect&amp;#34;:&amp;#34;Allow&amp;#34;, 6	&amp;#34;Principal&amp;#34;: { 7	&amp;#34;AWS&amp;#34;: &amp;#34;*&amp;#34; 8	}, 9	&amp;#34;Action&amp;#34;:[&amp;#34;s3:GetObject&amp;#34;], 10	&amp;#34;Resource&amp;#34;:[&amp;#34;arn:aws:s3:::bucket/*&amp;#34; 11	] 12	} 13	] 14} Make sure you replace bucket in arn:aws:s3:::bucket/* with your bucket name.</description>
    </item>
    
    <item>
      <title>Why did error_messages_for disappear from Rails 3?</title>
      <link>https://www.devroom.io/2010/12/15/why-did-errormessagesfor-disappear-from-rails-3/</link>
      <pubDate>Wed, 15 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/12/15/why-did-errormessagesfor-disappear-from-rails-3/</guid>
      <description>Today I learned that error_messages_for has disappear from Rails 3. When I tried using it I got the following deprecation warning:
DEPRECATION WARNING: form.error_messages was removed from Rails and is now available as a plugin.
What happened? Why was this pulled from Rails 3? ~ The reason error_messages_for was pulled from Rails 3 is a new guideline that says that nothing in Rails Core should dictate the look and feel of an app.</description>
    </item>
    
    <item>
      <title>Hide &#39;Last login:&#39; on bash login</title>
      <link>https://www.devroom.io/2010/11/25/hide-last-login-on-bash-login/</link>
      <pubDate>Thu, 25 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/11/25/hide-last-login-on-bash-login/</guid>
      <description>Everytime I open a new Terminal on my Mac, I get a line like this:
1Last login: Thu Nov 25 09:07:55 on ttys004 This annoys me. I don&amp;rsquo;t care when I last opened a local Terminal.
To hide this &amp;ldquo;Last login&amp;rdquo; message when logging in to bash you need to create a file in your homedirectory.
1touch ~/.hushlogin With this .hushlogin file in place you won&amp;rsquo;t see the &amp;ldquo;Last login&amp;rdquo; message and go directly to your prompt, where you want to be.</description>
    </item>
    
    <item>
      <title>Clear your MySQL password</title>
      <link>https://www.devroom.io/2010/10/26/clear-your-mysql-password/</link>
      <pubDate>Tue, 26 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/10/26/clear-your-mysql-password/</guid>
      <description>Most people need their MySQL database protected with at least a decent password. I agree, but in development this often causes conflicts - and I prefer to work with my MySQL datbase without all the password-hassle.
On Ubuntu I recently installed MySQL and set a password. Here&amp;rsquo;s how to remove that password so you can skip all the password stuff during development. ~ First, connect to MySQL and check what permissions are currently set:</description>
    </item>
    
    <item>
      <title>Setup a PPTP VPN connection on Mac OS X Snow Leopard</title>
      <link>https://www.devroom.io/2010/10/12/setup-a-pptp-vpn-connection-on-mac-os-x-snow-leopard/</link>
      <pubDate>Tue, 12 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/10/12/setup-a-pptp-vpn-connection-on-mac-os-x-snow-leopard/</guid>
      <description>In my previous tutorial I explained how to setup a PPTP based VPN server on Ubuntu. Now I&amp;rsquo;ll show you how to configure Mac OS X Snow Leopard to use that VPN connection.
~ Just watch the movie.
How to setup a PPTP VPN connection from Mac OS X 10.6 from Ariejan de Vroom on Vimeo.
Note: You may open port 1723 (TCP) on your router to allow you to connect to your VPN server from the Internets.</description>
    </item>
    
    <item>
      <title>Setup a Ubuntu VPN server</title>
      <link>https://www.devroom.io/2010/10/11/setup-a-ubuntu-vpn-server/</link>
      <pubDate>Mon, 11 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/10/11/setup-a-ubuntu-vpn-server/</guid>
      <description>I recently installed Ubuntu Linux on a home server (I hate that word, but it best describes what it is, so). Anyway, I&amp;rsquo;d like to be able to create a VPN network between my home server and my MacbookPro, which might be anywhere in the world.
This first part of the tutorial describes how to setup a VPN server in Ubuntu. ~ First, install the pptpd package. pptpd offers a PPTP-type VPN which is supported by Microsoft and other network vendors.</description>
    </item>
    
    <item>
      <title>Firefly 1.1.0 adds QR Codes for your shortened URLs</title>
      <link>https://www.devroom.io/2010/10/02/firefly-110-adds-qr-codes-for-your-shortened-urls/</link>
      <pubDate>Sat, 02 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/10/02/firefly-110-adds-qr-codes-for-your-shortened-urls/</guid>
      <description>I just pushed Firefly 1.1.0 (code) to Rubygems containing a very nice new feature: QR Codes.
Why would you care? Well, almost anything can scan QR Codes nowadays. Simple add .png to the end of your shortened URL and you&amp;rsquo;ll get a nice QR Code that you can print or embed on somewhere on the web. Give it a try: http://aj.gs/2Y.png
Simply scan the image and it will yield your short URL, ready for use.</description>
    </item>
    
    <item>
      <title>Precompile SASS to CSS for deployment to Heroku</title>
      <link>https://www.devroom.io/2010/09/28/precompile-sass-to-css-for-deployment-to-heroku/</link>
      <pubDate>Tue, 28 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/09/28/precompile-sass-to-css-for-deployment-to-heroku/</guid>
      <description>If you have deployed apps to Heroku you know that you cannot write to the read-only file system that Heroku offers. For file uploads you have to use some storage provider like Amazon S3 or RackSpace CloudFiles.
Now, if your application (I&amp;rsquo;m assuming you&amp;rsquo;re already on Rails 3), is using Haml + Sass, you&amp;rsquo;re in some trouble. Sass is set to generate CSS files on the fly and save them to public/stylesheets so the can be served like static content.</description>
    </item>
    
    <item>
      <title>Mass convert WMA to MP3 using ffmpeg and ruby</title>
      <link>https://www.devroom.io/2010/09/11/mass-convert-wma-to-mp3-using-ffmpeg-and-ruby/</link>
      <pubDate>Sat, 11 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/09/11/mass-convert-wma-to-mp3-using-ffmpeg-and-ruby/</guid>
      <description>Today I found myself in a situation where I have a few (200+) WMA audio files. Due to personal preference I want MP3, not WMA. So, let&amp;rsquo;s convert that lot.
What I want to do is convert all those WMA files to constant bitrate 192kbps, stereo mp3 files. (In my case, the WMA files have the required quality to use this settings). ~ The first tool you need is ffmpeg. If you&amp;rsquo;re on Mac, simple run brew install ffmpeg.</description>
    </item>
    
    <item>
      <title>Resque: how to requeue failed jobs</title>
      <link>https://www.devroom.io/2010/08/23/resque-how-to-requeue-failed-jobs/</link>
      <pubDate>Mon, 23 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/08/23/resque-how-to-requeue-failed-jobs/</guid>
      <description>Today I found about 100k Resque jobs in the failed queue. Due to a small error in some user content, those jobs all failed. After fixing the problem, how do you reprocess all those jobs?
Option one: go to the resque-web backend and click retry about 100.000 times.
Option two: do some cool ruby commands. ~ Resque offers you direct access to the failed queue and also provides a method to requeue jobs.</description>
    </item>
    
    <item>
      <title>Rename a git branch</title>
      <link>https://www.devroom.io/2010/08/09/rename-a-git-branch/</link>
      <pubDate>Mon, 09 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/08/09/rename-a-git-branch/</guid>
      <description>In git, branching is cheap and easy. You do it all the time (you&amp;rsquo;re not? Well, you should). Sometimes, though, you create a new feature branch, only to come to the conclusion later that the name you gave it does not cover the stuff you&amp;rsquo;ve been doing.
No problem for git! Renaming a branch is really easy:
1git branch -m old_branch new_branch That&amp;rsquo;s all.</description>
    </item>
    
    <item>
      <title>Using multiple clipboards in Vim</title>
      <link>https://www.devroom.io/2010/08/09/using-multiple-clipboards-in-vim/</link>
      <pubDate>Mon, 09 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/08/09/using-multiple-clipboards-in-vim/</guid>
      <description>On of the first things you learn when using Vim activly is that when you delete something using x or dd that content is actually cut and put on a clipboard. Later you can retrieve that content using the p or P commanands.
One thing that makes Vim more awesome than let&amp;rsquo;s say, uhm TextMate, is that it actually has more than one clipboard! Yeah! In fact, in Vim terminology those clipboards are called registers.</description>
    </item>
    
    <item>
      <title>How to enable SSH Forwarding on Mac OS X Snow Leopard</title>
      <link>https://www.devroom.io/2010/07/29/how-to-enable-ssh-forwarding-on-mac-os-x-snow-leopard/</link>
      <pubDate>Thu, 29 Jul 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/07/29/how-to-enable-ssh-forwarding-on-mac-os-x-snow-leopard/</guid>
      <description>The other day I was toying with Rubber to deploy a Rails3 app to Amazon EC2. I host the project code in a private Github repository, accessible only with my own SSH key.
In order to checkout your code an any EC2 instance you can do one of two things:
Copy your private SSH key to the instance - This sounds easy enough, but has serious security implications. You do not want to be sending out your private SSH key, do you?</description>
    </item>
    
    <item>
      <title>Screencast: Firefly URL shortener in less than 2.5 minutes</title>
      <link>https://www.devroom.io/2010/07/12/screencast-firefly-url-shortener-in-less-than-25-minutes/</link>
      <pubDate>Mon, 12 Jul 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/07/12/screencast-firefly-url-shortener-in-less-than-25-minutes/</guid>
      <description>Firefly is a light-weight URL Shortener app. It&amp;rsquo;s written in Ruby/Sinatra and can be easily deployed to Heroku, as I&amp;rsquo;ve written before. This screencast illustrates how easy it really is to setup Firefly and give it a spin. Did I mention that both Firefly and Heroku can be used for free?
Firefly URL shortener in less than 2.5 minutes from Ariejan de Vroom on Vimeo.
~ As always I&amp;rsquo;m keen to hear how you are using Firefly.</description>
    </item>
    
    <item>
      <title>Cherry-Picking specific commits from another branch</title>
      <link>https://www.devroom.io/2010/06/10/cherry-picking-specific-commits-from-another-branch/</link>
      <pubDate>Thu, 10 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/06/10/cherry-picking-specific-commits-from-another-branch/</guid>
      <description>I&amp;rsquo;m often asked how to merge only specific commits from another branch into the current one. The reason you&amp;rsquo;d want to do this is to merge specific changes you need now, leaving other code changes you&amp;rsquo;re not interested in right now behind.
First of all, use git log or the awesome GitX tool to see exactly which commit you want to pick. An example:
1dd2e86 - 946992	- 9143a9 - a6fd86 - 5a6057 [master] 2 \ 3 76cada - 62ecb3	- b886a0 [feature] Let&amp;rsquo;s say you&amp;rsquo;ve written some code in commit 62ecb3 of the feature branch that is very important right now.</description>
    </item>
    
    <item>
      <title>Uploading files with Curl</title>
      <link>https://www.devroom.io/2010/06/07/uploading-files-with-curl/</link>
      <pubDate>Mon, 07 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/06/07/uploading-files-with-curl/</guid>
      <description>I&amp;rsquo;ve always trouble uploading files with Curl. Some how the syntax for that command won&amp;rsquo;t stick, so I post it here for future reference.
What I want to do is perform a normal POST, including a file and some other variables to a remote server. This is it:
1curl -i -F name=test -F filedata=@localfile.jpg http://example.org/upload You can add as many -F as you want. The -i option tells curl to show the response headers as well, which I find useful most of the time.</description>
    </item>
    
    <item>
      <title>Firefly 0.4.3 and Firefly Client 0.4.0 released</title>
      <link>https://www.devroom.io/2010/06/06/firefly-043-and-firefly-client-040-released/</link>
      <pubDate>Sun, 06 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/06/06/firefly-043-and-firefly-client-040-released/</guid>
      <description>Today version 0.4.3 of Firefly was released with some minor updates. To complete the package, a new gem firefly-client has been released.
The client library allows your Ruby application to easily shorten URLs with a remote Firefly server. It&amp;rsquo;s very easy to use and lightweight.
Firefly 0.4.3 Changelog Handle invalid API keys correctly. Added a fix for MySQL users to update the code column to use the correct collation. Fixes issue #9 Firefly Client Using the Firefly Client is very easy, read the following snippet from the README:</description>
    </item>
    
    <item>
      <title>Setup your own Firefly URL shortener in 2.5 minutes</title>
      <link>https://www.devroom.io/2010/06/06/setup-your-own-firefly-url-shortener-in-25-minutes/</link>
      <pubDate>Sun, 06 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/06/06/setup-your-own-firefly-url-shortener-in-25-minutes/</guid>
      <description>By popular demand I&amp;rsquo;ve setup a guide to setup your own personal URL shortener with Firefly and Heroku. I&amp;rsquo;ve timed it an you can do it in under 2.5 minutes. How&amp;rsquo;s that for fast?
~
I&amp;rsquo;m going to assume that you have git installed on your computer and that you have an already working Heroku account. If not, sign up here for Heroku first.
I&amp;rsquo;ll be referencing to a my_firefly_dir in this guide.</description>
    </item>
    
    <item>
      <title>Upgrading to Mongoid Beta 6</title>
      <link>https://www.devroom.io/2010/05/30/upgrading-to-mongoid-beta-6/</link>
      <pubDate>Sun, 30 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/05/30/upgrading-to-mongoid-beta-6/</guid>
      <description>If you are working with Rails 3 and Mongoid, you&amp;rsquo;re likely to upgrade to [mongoid-2.0.0.beta6][1]. That&amp;rsquo;s okay, but you will run into a few problems. Among others, one will be:
1Database should be a Mongo::DB, not NilClass or
1Mongoid::Errors::InvalidDatabase: Mongoid::Errors::InvalidDatabase Another, Mongoid-related problem is the error uninitialized constant OrderedHash.
Luckily, these problems can be solved quite easily. [1]: http://rubygems.org/gems/mongoid
The first thing you need to do is make sure you use the right version of bson_ext.</description>
    </item>
    
    <item>
      <title>Bundler &#43; Passenger with Rails 2.3.5? Yes, please!</title>
      <link>https://www.devroom.io/2010/05/17/bundler-passenger-with-rails-235-yes-please/</link>
      <pubDate>Mon, 17 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/05/17/bundler-passenger-with-rails-235-yes-please/</guid>
      <description>Bundler allows you to define the gems your application uses, resolve dependencies and load everything up. This is great, because you don&amp;rsquo;t have to manage all those different gem versions yourself any more.
There is a little problem, though. When you want to use Bundler with Rails 2.3.5. you need to do a bit of extra work. You&amp;rsquo;ll need to create a file config/preinitializer.rb that contains the following:
1require &amp;#34;rubygems&amp;#34; 2require &amp;#34;bundler&amp;#34; 3 4if Gem::Version.</description>
    </item>
    
    <item>
      <title>Firefly 0.4.1 released</title>
      <link>https://www.devroom.io/2010/04/30/firefly-041-released/</link>
      <pubDate>Fri, 30 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/04/30/firefly-041-released/</guid>
      <description>I just pushed Firefly 0.4.1 to Rubygems. Updating is easy:
1gem update firefly Don&amp;rsquo;t forget to restart your server, that&amp;rsquo;s all.
The 0.4.1 release covers the following changes:
Normalize URLs before shortening them. This prevents false duplicates. Validate URLs to be valid HTTP or HTTPS, don&amp;rsquo;t accept others. Closes #8 Don&amp;rsquo;t ask for the API key after shortening a URL with the bookmarklet. Show the highlighted URL separately. Closes #7. If you are interested in contributing to Firefly, please fork the project on github.</description>
    </item>
    
    <item>
      <title>Ruby version and gemset in your Bash prompt? Yes sir!</title>
      <link>https://www.devroom.io/2010/04/25/ruby-version-and-gemset-in-your-bash-prompt-yes-sir/</link>
      <pubDate>Sun, 25 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/04/25/ruby-version-and-gemset-in-your-bash-prompt-yes-sir/</guid>
      <description>RVM is an easy way to switch between different ruby implementations and gemsets. If you don&amp;rsquo;t know about it, go check it out. If you do know about, you&amp;rsquo;ll know how annoying it is never to know which ruby version and gemset you&amp;rsquo;re currently using. Here is a nice .profile hack that shows your current ruby version and optional gemset in your prompt.
Firstly, add the following function to your ~/.</description>
    </item>
    
    <item>
      <title>A new day, a new Firefly</title>
      <link>https://www.devroom.io/2010/04/14/a-new-day-a-new-firefly/</link>
      <pubDate>Wed, 14 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/04/14/a-new-day-a-new-firefly/</guid>
      <description>Get ready for 0.4 (or, 0.4.0.1 to be exact)! This release has some interesting new features. Read more to find out, I&amp;rsquo;ve included a screen shot for your pleasure.
Twitter integration Easier copying of short URLs Highlight the last shortened URL Several fixes, see HISTORY for details Coming from Digg? Check out the source and README at http://github.com/ariejan/firefly
The 0.4.0.1 release fixes file permissions for the twitter.png image so your server can read it properly.</description>
    </item>
    
    <item>
      <title>Get ready for Firefly 0.3!</title>
      <link>https://www.devroom.io/2010/04/13/get-ready-for-firefly-03/</link>
      <pubDate>Tue, 13 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/04/13/get-ready-for-firefly-03/</guid>
      <description>Hot off the press is Firefly 0.3! Firefly is a simple URL shortener application intended for personal use. It&amp;rsquo;s core features are:
Very light-weight - based on Sinatra Shorten URLs using 62-Base encoding Offers an easy to use API Keeps track of URL clicks Supports most popular database backends, including MySQL and Sqlite3 Includes a ready-to-use Bookmarklet Works with any Rack capable web server Interested? Give it a go! Here&amp;rsquo;s how in ht</description>
    </item>
    
    <item>
      <title>Detect browser Web Sockets support</title>
      <link>https://www.devroom.io/2010/04/05/detect-browser-web-sockets-support/</link>
      <pubDate>Mon, 05 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/04/05/detect-browser-web-sockets-support/</guid>
      <description>HTML5 Web Sockets are awesome! I&amp;rsquo;ve been toying around with it for a bit today and noticed that not every browser supports native HTML5 Web Sockets yet.
Google Chrome 5 has native support for web sockets, FireFox 3.6 does not. This poses a problem if you&amp;rsquo;re building something awesome that does require web sockets. ~
Luckily, it&amp;rsquo;s easy to detect web sockets support through JavaScript. All you really need to do is check if WebSocket is defined or not.</description>
    </item>
    
    <item>
      <title>Announcing Firefly, a ruby URL shortener</title>
      <link>https://www.devroom.io/2010/03/29/announcing-firefly-a-ruby-url-shortener/</link>
      <pubDate>Mon, 29 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/03/29/announcing-firefly-a-ruby-url-shortener/</guid>
      <description>Here it is! Firefly! The easiest URL shortener there is in Ruby land!
How easy? Install the gem, copy and paste a config.ru and you&amp;rsquo;re good to go!
Read the documentation or the source for more details. I&amp;rsquo;ve included the README in this post as well for your convenience.
FYI: I&amp;rsquo;m currently running aj.gs on Firefly 0.1 with MySQL.
FireFly FireFly is a simple URL shortener for personal use.
Installation 1sudo gem install firefly After you have installed the Firefly gem you should create a config.</description>
    </item>
    
    <item>
      <title>Really? Another Sinatra URL Shortener in Ruby?</title>
      <link>https://www.devroom.io/2010/03/28/really-another-sinatra-url-shortener-in-ruby/</link>
      <pubDate>Sun, 28 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/03/28/really-another-sinatra-url-shortener-in-ruby/</guid>
      <description>With my recent interest in Sinatra I decided to make some us of it and write a URL shortener service for with it. This also gave me an excuse to polish up my DataMapper skills a bit.
~
Now, it&amp;rsquo;s finished! I put the app on http://github.com/ariejan/firefly. Feel free to fork!
Not sure if it works? Try this: http://aj.gs/2
Questions? Please use the comments!</description>
    </item>
    
    <item>
      <title>Installing the Nokogiri ruby gem on Debian</title>
      <link>https://www.devroom.io/2010/03/25/installing-the-nokogiri-ruby-gem-on-debian/</link>
      <pubDate>Thu, 25 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/03/25/installing-the-nokogiri-ruby-gem-on-debian/</guid>
      <description>To install Nokogiri on a Debian system you need some system packages in place. This snippet will get you going quickly. ~ First, install the necessary debian packages if you don&amp;rsquo;t have them already:
1apt-get install build-essential libxml2-dev libxslt1-dev Then you can install nokogiri without any problem with gem install nokogiri</description>
    </item>
    
    <item>
      <title>Ariejan.net now in valid HTML5</title>
      <link>https://www.devroom.io/2010/03/24/ariejannet-now-in-valid-html5/</link>
      <pubDate>Wed, 24 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/03/24/ariejannet-now-in-valid-html5/</guid>
      <description>As most developers already know: HTML5 is very awesome! So, with my move from WordPress to Toto I&amp;rsquo;ve made sure Ariejan.net is HTML5 compliant.
~
I&amp;rsquo;m not going to tell you how I did it all, there&amp;rsquo;s enough about writing HTML5 on the web already.
Here&amp;rsquo;s the proof:
Or, if you don&amp;rsquo;t believe the screenshot, validate it yourself.
Note: The warning is about using the expiremental HTML5 Conformance Checker</description>
    </item>
    
    <item>
      <title>How a little varnish changed my life</title>
      <link>https://www.devroom.io/2010/03/24/how-a-little-varnish-changed-my-life/</link>
      <pubDate>Wed, 24 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/03/24/how-a-little-varnish-changed-my-life/</guid>
      <description>Okay, it&amp;rsquo;s a bit of an exaggeration to say varnish changed my life, but it sure did change the speed of my site!
I got from a rotten 6 requests per second with WordPress to a whopping 9500! If you&amp;rsquo;re on Linux and running Apache, installing varnish is a breeze! Especially if you&amp;rsquo;re hosting a well cacheable site like a blog.
~
I&amp;rsquo;m running on a Linux Debian virtual server (provided by Kabisa) with 1 VCPU core and 512MB of memory.</description>
    </item>
    
    <item>
      <title>Shields up! Rrrack alert!</title>
      <link>https://www.devroom.io/2010/03/22/shields-up-rrrack-alert/</link>
      <pubDate>Mon, 22 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/03/22/shields-up-rrrack-alert/</guid>
      <description>For a very long time I have been dissatisfied with WordPress. Although it&amp;rsquo;s the best PHP blogging engine out there, it sucked.
Firstly, it&amp;rsquo;s slow. I got the front end a bit snappier by caching the living crap out of it, but that did not help things for me in the backend. So, what to do? ~
I&amp;rsquo;ve been looking towards ruby-based blogs a lot. Typo and Mephisto were two of the first ones out there, but they just didn&amp;rsquo;t feel right.</description>
    </item>
    
    <item>
      <title>How to order your Kindle from the Netherlands</title>
      <link>https://www.devroom.io/2010/02/02/how-to-order-your-kindle-from-the-netherlands/</link>
      <pubDate>Tue, 02 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/02/02/how-to-order-your-kindle-from-the-netherlands/</guid>
      <description>&lt;p&gt;I get a lot of questions about how I bought my Kindle and what it cost to get it shipped to the Netherlands. So, for all those Dutchmen (and Dutchwomen) who are considering a Kindle, here&amp;rsquo;s a short &lt;em&gt;how-to&lt;/em&gt; in Dutch:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Sign the petition: Stop EU Software Patents</title>
      <link>https://www.devroom.io/2010/01/19/sign-the-petition-stop-eu-software-patents/</link>
      <pubDate>Tue, 19 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/01/19/sign-the-petition-stop-eu-software-patents/</guid>
      <description>&lt;p&gt;From &lt;a href=&#34;http://stopsoftwarepatents.eu&#34;&gt;stopsoftwarepatents.eu&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Our petition aims to unify the voices of concerned Europeans, associations and companies, and calls on our politicians in Europe to stop patents on software with legislative clarifications.&lt;/p&gt;
&lt;p&gt;The patent system is misused to restrain competition for the economical benefit of a few but fails to promote innovation. A software market environment is better off with no patents on software at all. Healthy competition forces market players to innovate.&lt;/p&gt;
&lt;p&gt;European court decisions still accept in many cases the validity of the software patents granted by national patent offices and the European Patent Office (EPO) that is beyond democratic control. They not only continue to grant them, but also to lobby in favor of them. Despite the current deep crisis of the patent system, they are unable to reform and put at risk too many European businesses with their soft granting policy.&lt;/p&gt;
&lt;p&gt;On 2005 the Commission appeared to be more supportive to the interests of major international conglomerates than of small and medium sized enterprises from Europe - who are a major driving force behind European innovation. The European Parliament rejected at the end the software patent directive, but has no rights for legislative initiatives.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We urge our legislators&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;to pass national legal clarifications to substantive patent law to rule out any software patent;&lt;/li&gt;
	&lt;li&gt;to invalidate all granted claims on patents that can be infringed by software run on programmable apparatus;&lt;/li&gt;
	&lt;li&gt;to also strive to propagate these rules to the European level, including the European Patent Convention.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;http://petition.stopsoftwarepatents.eu/021004176917/&#34;&gt;Sign the petition now!&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The epic e-reading experience: Amazone Kindle</title>
      <link>https://www.devroom.io/2010/01/17/the-epic-e-reading-experience-amazone-kindle/</link>
      <pubDate>Sun, 17 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2010/01/17/the-epic-e-reading-experience-amazone-kindle/</guid>
      <description>&lt;p&gt;For some time I have been eyeballing Sony&amp;rsquo;s e-reader in the local bookstore. I tried it a few times, but I didn&amp;rsquo;t like it - actually I had serious doubts about e-books in general because of the experience. Sony&amp;rsquo;s e-reader was not really easy to use with only one next-page button in a not-so-easy to access place. It also had a slow e-ink screen. It took a second to a second-and-a-half to show the next page. I didn&amp;rsquo;t like it and had serious doubts about buying any e-reader at all.&lt;/p&gt;
&lt;p&gt;But, reading about all the &amp;ldquo;epic win&amp;rdquo;-stories of the Kindle by &lt;a href=&#34;http://twitter.com/johnnybusca&#34;&gt;@johnnybusca&lt;/a&gt; I just had to give it a try - I bought one.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Epic TextMate Theme</title>
      <link>https://www.devroom.io/2009/11/24/epic-textmate-theme/</link>
      <pubDate>Tue, 24 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/11/24/epic-textmate-theme/</guid>
      <description>&lt;p&gt;Okay, I&amp;rsquo;ve wanted to make a custom TextMate theme since I first installed the thing on my MacBook in 2006. Today I present you with &amp;lsquo;Epic&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Grab the theme here: &lt;a href=&#34;http://ariejan.net/wp-content/uploads/2009/11/EpicBlue.tmTheme.zip&#34;&gt;EpicBlue.tmTheme.zip (1.5k)&lt;/a&gt;. Unzip it and open it with TextMate. That&amp;rsquo;s all. Enjoy!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How to create and apply a patch with Git</title>
      <link>https://www.devroom.io/2009/10/26/how-to-create-and-apply-a-patch-with-git/</link>
      <pubDate>Mon, 26 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/10/26/how-to-create-and-apply-a-patch-with-git/</guid>
      <description>Creating a patch file with git is quite easy to do, you just need to see how it&amp;rsquo;s done a few times.
This article will show you how to create a patch from the last few commits in your repository. Next, I&amp;rsquo;ll also show you how you can correctly apply this patch to another repository.
Before you start To make creating patches easier, there are some common git practices you should follow.</description>
    </item>
    
    <item>
      <title>They are just tools, people!</title>
      <link>https://www.devroom.io/2009/10/25/they-are-just-tools-people/</link>
      <pubDate>Sun, 25 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/10/25/they-are-just-tools-people/</guid>
      <description>&lt;p&gt;Codaset is openly asking its users to comment on what pricing strategy they would like most. I&amp;rsquo;ve spotted this before, but again, there are two types of users. Those who see a great service and know that it will make their job easier, so they are willing to pay for it. There are also those who want a trillion repositories, unlimited disk space and what not for $1 a month (or less). This post is for the latter group of people.&lt;/p&gt;
&lt;p&gt;Some developers claim they &lt;em&gt;need&lt;/em&gt; to use all of 37Signals&amp;rsquo; apps, have the biggest Github plan available and buy that new shiny 17&amp;quot; MacBook Pro (or that 27&amp;quot; iMac, I know). With all those tools and hardware available, how can your brilliant plan not succeed? All the successful people you&amp;rsquo;ve heard of use them. So, with all that setup, you&amp;rsquo;re golden! Right? Then they check the price tag. It&amp;rsquo;s huge!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git problem: error: unable to create temporary sha1 filename</title>
      <link>https://www.devroom.io/2009/10/15/git-problem-error-unable-to-create-temporary-sha1-filename/</link>
      <pubDate>Thu, 15 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/10/15/git-problem-error-unable-to-create-temporary-sha1-filename/</guid>
      <description>I got git problem: error: unable to create temporary sha1 filename when pushing to a remote repository. The fix is rather easy.
On both your local and remote repositories perform the following magic:
1git fsck 2git prune 3git repack 4git fsck The last fsck should not report any problems.</description>
    </item>
    
    <item>
      <title>Epic vs. Awesome</title>
      <link>https://www.devroom.io/2009/10/13/epic-vs-awesome/</link>
      <pubDate>Tue, 13 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/10/13/epic-vs-awesome/</guid>
      <description>There&amp;rsquo;s bit of a discussion between me and @ludooo about which word has the most significance when measuring the greatness of something.
I say epic is bigger than awesome. @ludooo says awesome is bigger than epic (he&amp;rsquo;s not right, of course).
Please help us decide!
Which is bigger? Awesome or Epic?(polling) </description>
    </item>
    
    <item>
      <title>Valerii: 32-base string encoder and decoder</title>
      <link>https://www.devroom.io/2009/10/13/valerii-32-base-string-encoder-and-decoder/</link>
      <pubDate>Tue, 13 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/10/13/valerii-32-base-string-encoder-and-decoder/</guid>
      <description>&lt;p&gt;You have probably seen URL shorteners that use short, seemingly random strings to identify sites. These strings are not random, they are encoded integer values. My valerii gem allows you to easily and quickly encode and decode integer values. Let me show you.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Codaset.com: Github, but better</title>
      <link>https://www.devroom.io/2009/09/08/codaset-com-github-but-better/</link>
      <pubDate>Tue, 08 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/09/08/codaset-com-github-but-better/</guid>
      <description>&lt;p&gt;Today I had the very pleasure of giving &lt;a href=&#34;http://codaset.com&#34;&gt;Codaset.com&lt;/a&gt; a try! Codaset is being developed by Joel Moss in Ruby on Rails and could be a real Github killer!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git Tag Mini Cheat Sheet Revisited</title>
      <link>https://www.devroom.io/2009/09/05/git-tag-mini-cheat-sheet-revisited/</link>
      <pubDate>Sat, 05 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/09/05/git-tag-mini-cheat-sheet-revisited/</guid>
      <description>Just as a kind of mini cheat sheet for using git tags. Jörg Mittag had some great additions that weren&amp;rsquo;t in the original post which warrant a new post.
Git has three different type of tags:
Lightweight tags Annotated tags Signed tags Let&amp;rsquo;s start with lightweight tags.
Lightweight tags In the previous cheat sheet only the lightweight local tags were discussed. A lightweight tag is nothing more than a reference to a particular revision or SHA1 object name in the repository.</description>
    </item>
    
    <item>
      <title>Git Tag Mini Cheat Sheet</title>
      <link>https://www.devroom.io/2009/09/04/git-tag-mini-cheat-sheet/</link>
      <pubDate>Fri, 04 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/09/04/git-tag-mini-cheat-sheet/</guid>
      <description>&lt;p&gt;Just as a kind of mini cheat sheet for using git tags:&lt;/p&gt;
&lt;p&gt;Adding a tag:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git tag tag_name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git tag&lt;/code&gt;&lt;br /&gt;
&lt;em&gt;Should show your new tag.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push origin --tags&lt;/code&gt; or &lt;code&gt;git push origin :tag_name&lt;/code&gt;&lt;br /&gt;
&lt;em&gt;Because &lt;code&gt;git push&lt;/code&gt; doesn&#39;t push tags.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Removing a tag:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git tag -d tag_name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git tag&lt;/code&gt;&lt;br /&gt;
&lt;em&gt;Should no longer show your tag.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push origin :refs/tags/tag_name&lt;/code&gt;&lt;br /&gt;
&lt;em&gt;Because &lt;code&gt;git push --tags&lt;/code&gt; doesn&#39;t push deleted tags.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Rails &#43; MySQL: Case-Sensitive strings in your database</title>
      <link>https://www.devroom.io/2009/09/03/rails-mysql-case-sensitive-strings-in-your-database/</link>
      <pubDate>Thu, 03 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/09/03/rails-mysql-case-sensitive-strings-in-your-database/</guid>
      <description>When using Rails + MySQL, you&amp;rsquo;ll find that normal string (or varchar(255)) fields are case insensitive. This can be quite a nuisance, but it&amp;rsquo;s easy to resolve. You need to set your table to the utf8_bin collation. By using the binary variant, you&amp;rsquo;re basically enabling case sensitivity.
1create_table :posts, :options =&amp;gt; &amp;#39;ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin&amp;#39; do |t| 2 t.string :title, :limit =&amp;gt; 100 3end That&amp;rsquo;s all. The title field is now case sensitive.</description>
    </item>
    
    <item>
      <title>JInput Mac OS X 64 bit natives</title>
      <link>https://www.devroom.io/2009/09/01/jinput-mac-os-x-64-bit-natives/</link>
      <pubDate>Tue, 01 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/09/01/jinput-mac-os-x-64-bit-natives/</guid>
      <description>&lt;p&gt;Yesterday I ran into a little problem running &lt;a href=&#34;http://slick.cokeandcode.com/index.php&#34;&gt;Slick 2D&lt;/a&gt; on Java 6 64bit on my Mac. It&amp;rsquo;s a MacPro, which has a 64 bit processor and is running Leopard. The problem I encountered was related to the native libraries provided by &lt;a href=&#34;http://www.lwjgl.org&#34;&gt;LWJGL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re a user of LWJGL, you&amp;rsquo;ll be using JInput as well. Unfortunately, JInput does not currently have any 64 bit native libraries as it is only providing for PPC and i386 (32bit). This is a problem because Mac OS X users are somewhat bound to Java 6 64bit. There is no 32 bit version of Java 6 for Mac OS X.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Once and for all: Rails migrations integer :limit option</title>
      <link>https://www.devroom.io/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/</link>
      <pubDate>Thu, 20 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/</guid>
      <description>&lt;p&gt;I literally always have to look up the meaning of :limit in migrations when it comes to integer values. Here&amp;rsquo;s an overview. Now let&amp;rsquo;s memorise it (oh, this works for MySQL, other databases may work differently):&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>IMDB Ruby Gem 0.4.0 Now available at RubyForge!</title>
      <link>https://www.devroom.io/2009/06/14/imdb-ruby-gem-0-4-0-now-available-at-rubyforge/</link>
      <pubDate>Sun, 14 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/14/imdb-ruby-gem-0-4-0-now-available-at-rubyforge/</guid>
      <description>I just released version 0.4.0 of the IMDB Ruby Gem into the wild. There are only a few minor updates:
Changes in 0.4.0
Updates to the console &#39;imdb&#39; utility Show the IMDB ID Show the full IMDB URL Installation or upgrade
1$ sudo gem install imdb 1$ sudo gem update imdb Issues, source or contributions
You can find the code at github, as well as the issue tracker. Feel free to fork and contribute!</description>
    </item>
    
    <item>
      <title>Speaking at Rails Underground</title>
      <link>https://www.devroom.io/2009/06/14/speaking-at-rails-underground/</link>
      <pubDate>Sun, 14 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/14/speaking-at-rails-underground/</guid>
      <description>I haven&amp;rsquo;t seen a schedule yet, but I&amp;rsquo;ve been told by Mark that I&amp;rsquo;ll be speaking at Rails Underground this year.
My talk will be on the topic of Git. In about 45 minutes time I&amp;rsquo;ll show you all the basic git features you&amp;rsquo;ll need on a daily basis. Not only that, but I&amp;rsquo;ll also explain how git manages all those commits and branches so you can be on your way to become a git power user.</description>
    </item>
    
    <item>
      <title>Best Practice - The Git Development Cycle</title>
      <link>https://www.devroom.io/2009/06/08/best-practice-the-git-development-cycle/</link>
      <pubDate>Mon, 08 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/08/best-practice-the-git-development-cycle/</guid>
      <description>Git is quite an awesome version control system. Why? Because it&amp;rsquo;s lightning fast, even for large projects (among other reasons).
But, how do you use Git effectively for development on a daily basis? Let me explain to you.
Branches
With git you normally have a &amp;lsquo;master&amp;rsquo; branch. This is also the branch you use to sync your code with other repositories. That is also the reason why you should never code in the &amp;lsquo;master&amp;rsquo; branch.</description>
    </item>
    
    <item>
      <title>ActiveRecord: Skipping callbacks like after_save or after_update</title>
      <link>https://www.devroom.io/2009/06/07/activerecord-skipping-callbacks-like-after_save-or-after_update/</link>
      <pubDate>Sun, 07 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/07/activerecord-skipping-callbacks-like-after_save-or-after_update/</guid>
      <description>Active Records provides callbacks, which is great is you want to perform extra business logic after (or before) saving, creating or destroying an instance of that model.
However, there are situations where you can easily fall into the trap of creating an infinite loop.
1class Beer &amp;lt; ActiveRecord::Base 2 def after_save 3 x = some_magic_method(self) 4 update_attribute(:my_attribute, x) 5 end 6end The above will give you a nice infinite loop (which doesn&amp;rsquo;t scale).</description>
    </item>
    
    <item>
      <title>has_one - find all that have no associated object</title>
      <link>https://www.devroom.io/2009/06/07/has_one-find-all-that-have-no-associated-object/</link>
      <pubDate>Sun, 07 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/07/has_one-find-all-that-have-no-associated-object/</guid>
      <description>Let me pose a typical Rails situation:
1class Person &amp;lt; ActiveRecord::Base 2 has_one :fancy_hat 3end 4 5class FancyHat &amp;lt; ActiveRecord::Base 6 belongs_to :person 7end Now, how can you get all the people that don&amp;rsquo;t have a fancy hat?
1class Person &amp;lt; ActiveRecord::Base 2 has_one :fancy_hat 3 4 named_scope :hatless, :joins =&amp;gt; &amp;#39;LEFT JOIN fancy_hats ON fancy_hats.person_id = people.id&amp;#39;, :conditions =&amp;gt; &amp;#39;fancy_hats.person_id IS NULL&amp;#39; 5end Now you can find all the hatless people you want.</description>
    </item>
    
    <item>
      <title>IMDB 0.3.0 now including console utility - query IMDB from your console</title>
      <link>https://www.devroom.io/2009/06/07/imdb-0-3-0-now-including-console-utility-query-imdb-from-your-console/</link>
      <pubDate>Sun, 07 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/07/imdb-0-3-0-now-including-console-utility-query-imdb-from-your-console/</guid>
      <description>With the release of IMDB 0.3.0, a command-line utility is included!
Why is this awesome for you? Basically, because you can now query IMDB and process the results with any of the great GNU tools available to you like grep.
Let me show you:
Search IMDB
1$ imdb Star Trek 2&amp;gt;&amp;gt; Searching for &amp;#34;Star Trek&amp;#34; 3 &amp;gt; 0060028 | Star Trek (1966) (TV series) 4 &amp;gt; 0796366 | Star Trek (2009) 5 &amp;gt; 0092455 | Star Trek: The Next Generation (1987) (TV series) 6 &amp;gt; 0112178 | Star Trek: Voyager (1995) (TV series) 7 &amp;gt; 0106145 | Star Trek: Deep Space Nine (1993) (TV series) 8 &amp;gt; 0117731 | Star Trek: First Contact (1996) 9 &amp;gt; 0084726 | Star Trek: The Wrath of Khan (1982) 10 &amp;gt; 0092007 | Star Trek IV: The Voyage Home (1986) 11 &amp;gt; 0079945 | Star Trek: The Motion Picture (1979) 12 &amp;gt; 0244365 | Enterprise (2001) (TV series) For clarity, only the ten first search results are shown.</description>
    </item>
    
    <item>
      <title>Install Hpricot on Ubuntu</title>
      <link>https://www.devroom.io/2009/06/05/install-hpricot-on-ubuntu/</link>
      <pubDate>Fri, 05 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/05/install-hpricot-on-ubuntu/</guid>
      <description>It&amp;rsquo;s quite easy. Make sure you have RubyGems and Ruby installed first, of course.
The problem:
1$ sudo gem install hpricot 2Building native extensions. This could take a while... 3ERROR: Error installing hpricot: 4	ERROR: Failed to build gem native extension. 5 6/usr/bin/ruby1.8 extconf.rb 7extconf.rb:1:in `require&amp;#39;: no such file to load -- mkmf (LoadError) 8	from extconf.rb:1 The solution:
1sudo apt-get install ruby1.8-dev build-essential 2sudo gem install hpricot </description>
    </item>
    
    <item>
      <title>Ruby Gem: IMDB</title>
      <link>https://www.devroom.io/2009/06/03/ruby-gem-imdb/</link>
      <pubDate>Wed, 03 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/06/03/ruby-gem-imdb/</guid>
      <description>I just released version 0.1.0 of my IMDB gem which allows your app to search IMDB for IMDB movie ID&amp;rsquo;s and access most data that&amp;rsquo;s publicly available.
Installation 1sudo gem install imdb This will also install the dependencies Hpricot and HTTParty.
Usage In your project, include the gem (and possibly rubygems as well).
1require &amp;#39;rubygems&amp;#39; 2require &amp;#39;imdb&amp;#39; 3 4search = Imdb::Search.new(&amp;#39;Star Trek&amp;#39;) 5=&amp;gt; #&amp;lt;Imdb::Search:0x18289e8 @query=&amp;#34;Star Trek&amp;#34;&amp;gt; 6 7puts search.movies[0..3].collect{ |m| [m.</description>
    </item>
    
    <item>
      <title>Speak louder! I can&#39;t hear you over the sound of how awesome I am!</title>
      <link>https://www.devroom.io/2009/05/22/speak-louder-i-cant-hear-you-over-the-sound-of-how-awesome-i-am/</link>
      <pubDate>Fri, 22 May 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/05/22/speak-louder-i-cant-hear-you-over-the-sound-of-how-awesome-i-am/</guid>
      <description>Get the t-shirt!</description>
    </item>
    
    <item>
      <title>Second RubyFest Speaker: Geoffrey Grosenbach</title>
      <link>https://www.devroom.io/2009/05/06/second-rubyfest-speaker-geoffrey-grosenbach/</link>
      <pubDate>Wed, 06 May 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/05/06/second-rubyfest-speaker-geoffrey-grosenbach/</guid>
      <description>Geoffrey Grosenbach is going to deliver a talk about MacRuby at RubyFest on may 14th! He&amp;rsquo;ll be joining us over a live video feed. Afterward Geoffrey will be available for a short Q&amp;amp;A session.
More details about Geoffrey&amp;rsquo;s talk are expected shortly.
If you didn&amp;rsquo;t get your tickets for RubyFest yet, be sure to head over to http://rubyfest.nl and get them right now. We&amp;rsquo;ve got limited seating for this first edition of RubyFest.</description>
    </item>
    
    <item>
      <title>Available for iPhone Development</title>
      <link>https://www.devroom.io/2009/04/28/available-for-iphone-development/</link>
      <pubDate>Tue, 28 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/04/28/available-for-iphone-development/</guid>
      <description>Just to put it out there: I&amp;rsquo;m available for iPhone development (preferably in the Netherlands).
If you&amp;rsquo;re interested in having an iPhone app developed, feel free to contact me to discuss your options.
I&amp;rsquo;m developing iPhone apps a an employee at Kabisa.</description>
    </item>
    
    <item>
      <title>Compacting a SQLite3 DB file</title>
      <link>https://www.devroom.io/2009/04/23/compacting-a-sqlite3-db-file/</link>
      <pubDate>Thu, 23 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/04/23/compacting-a-sqlite3-db-file/</guid>
      <description>If you have a lot of mutations in your SQLite3 database the file size of the db file will increase a lot over time.
This can be annoying, so you&amp;rsquo;ll need to clean up old indices and other cruft that&amp;rsquo;s making your db heavy.
The solution is über-easy:
1$ sqlite3 mystuff.db 2SQLite version 3.6.6.2 3sqlite&amp;gt; VACUUM; 4sqlite&amp;gt; .quit Note that you need to use capitals here. This will clean your db file and reduce its file size dramatically (depending on the amount of cruft you have, of course).</description>
    </item>
    
    <item>
      <title>How to create a DSA OpenSSL certificate</title>
      <link>https://www.devroom.io/2009/04/19/how-to-create-a-dsa-openssl-certificate/</link>
      <pubDate>Sun, 19 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/04/19/how-to-create-a-dsa-openssl-certificate/</guid>
      <description>I just needed an OpenSSL DSA public key. This is not really difficult, you just need to know the right commands. On my Mac I ran the following commands to obtain both private dsa_priv.pem and public dsa_pub.pem keys.
1 2openssl dsaparam 1024 &amp;lt; /dev/random &amp;gt; dsaparam.pem 3openssl gendsa dsaparam.pem -out dsa_priv.pem 4openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem Needless to say, keep your private key in secure location and make sure you have a backup of it!</description>
    </item>
    
    <item>
      <title>MacBook Pro: Black Screen of Death (or is it just faking?)</title>
      <link>https://www.devroom.io/2009/04/05/macbook-pro-black-screen-of-death-or-is-it-just-faking/</link>
      <pubDate>Sun, 05 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/04/05/macbook-pro-black-screen-of-death-or-is-it-just-faking/</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclaimer: If you are reading this, chances are there is a hardware problem with your Mac. In my case it was a faulty logic board, which had to be replaced.&lt;/p&gt;
&lt;p&gt;Use this guide to get your Mac up and running again and create a full backup of you system as soon as possible. If the problem repeats itself, I recommend you take your Mac back to Apple for a check-up.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today I was happily working on some Java code, when I decided to relocate to a sunny spot in the backyard. I closed my MacBook Pro, walked outside and opened my MBP again to continue work: a black screen!&lt;/p&gt;
&lt;p&gt;The screen of my Mac stayed black, although it did not indicate to be in a sleeping state. WTF? I restarted the Mac, removed the battery, reset PRAM/NVRAM and the PMU, but nothing worked! ARGH! Then, I found a solution that worked.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>May 14th: RubyFest!</title>
      <link>https://www.devroom.io/2009/03/31/may-14th-rubyfest/</link>
      <pubDate>Tue, 31 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/03/31/may-14th-rubyfest/</guid>
      <description>Well, the time has come to announce RubyFest! RubyFest is an official meetup of Ruby developers and enthusiast which will be held on May 14th in Eindhoven, the Netherlands.
Besides organising RubyFest, I&amp;rsquo;ll also be one of two speakers at RubyFest. I&amp;rsquo;ll be giving a talk about using git with your (open source) project effectively. The other speaker is yet to be announced, and we&amp;rsquo;re still accepting proposals!
So, head over to RubyFest and register today, because we only have limited seating!</description>
    </item>
    
    <item>
      <title>warcraft-armory 0.1.0 Released</title>
      <link>https://www.devroom.io/2009/02/07/warcraft-armory-010-released/</link>
      <pubDate>Sat, 07 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/02/07/warcraft-armory-010-released/</guid>
      <description>Yay! warcraft-armory version 0.1.0 has been released!
The warcraft-armory gem allows your application to easily access information from the World of Warcraft Armory site.
This is an early version that allows the retrieval of character information from EU and US armories. But, more is in the making!
Feel free to check-out the code, read the docs or just install the gem:
1sudo gem install warcraft-armory 1require &amp;#39;warcraft-armory&amp;#39; 2adries = WarcraftArmory::Character.find(:eu, :aszune, :adries) 3adries.</description>
    </item>
    
    <item>
      <title>Pagerank 3, 19k Hits/Month</title>
      <link>https://www.devroom.io/2009/01/30/pagerank-3-19k-hitsmonth/</link>
      <pubDate>Fri, 30 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/01/30/pagerank-3-19k-hitsmonth/</guid>
      <description>I just found out Ariejan.net has a PageRank™ of 3! If you don&amp;rsquo;t know what PageRank™ means, let Google explain:
PageRank relies on the uniquely democratic nature of the web by using its vast link structure as an indicator of an individual page&#39;s value. In essence, Google interprets a link from page A to page B as a vote, by page A, for page B. But, Google looks at more than the sheer volume of votes, or links a page receives; it also analyzes the page that casts the vote.</description>
    </item>
    
    <item>
      <title>How To Start A Rails Edge App The Easy Way</title>
      <link>https://www.devroom.io/2009/01/04/how-to-start-a-rails-edge-app-the-easy-way/</link>
      <pubDate>Sun, 04 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2009/01/04/how-to-start-a-rails-edge-app-the-easy-way/</guid>
      <description>There&amp;rsquo;s a lot of cool stuff pooring in about what&amp;rsquo;s new in Rails Edge (which will become Rails 2.3 and/or Rails 3).
Most likely you can&amp;rsquo;t wait to get started with these new features, especially when you&amp;rsquo;re about to start a new project, which doesn&amp;rsquo;t have to be stable yet, but will be by the time 2.3/3.0 come out. This post shows you the way to create a new Rails app based on the most current Rails code, also called Edge Rails.</description>
    </item>
    
    <item>
      <title>Twitterlicious!</title>
      <link>https://www.devroom.io/2008/12/27/twitterlicious/</link>
      <pubDate>Sat, 27 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/12/27/twitterlicious/</guid>
      <description>A bit late, but &amp;ldquo;Merry Christmas&amp;rdquo; everyone!
I&amp;rsquo;m on Twitter lately, so feel free to check and follow. It&amp;rsquo;s a also a nice way to keep up-to-date about new articles on Ariejan.net.
Hey, that&amp;rsquo;s all for now. And if you don&amp;rsquo;t come back here this year: &amp;ldquo;Happy New Year!&amp;rdquo; - Cheers!</description>
    </item>
    
    <item>
      <title>Google FriendConnect now on Ariejan.net</title>
      <link>https://www.devroom.io/2008/12/03/google-friendconnect-now-on-ariejannet/</link>
      <pubDate>Wed, 03 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/12/03/google-friendconnect-now-on-ariejannet/</guid>
      <description>Well, I just got invited for Google FriendConnect! Let me tell you a bit about FriendConnect.
With FriendConnect you can easily join Ariejan.net. See of it as a pool of Ariejan.net visitors or fans if you like.
Once you&amp;rsquo;ve joined up (with your google account, for example) you&amp;rsquo;ll be able to interact more closely with Ariejan.net. In the case of Ariejan.net you can share your thoughts with other Ariejan.net visitors. Just vent your frustration about Linux or let others know what Rails project you&amp;rsquo;re working on.</description>
    </item>
    
    <item>
      <title>Export CSV directly from MySQL</title>
      <link>https://www.devroom.io/2008/11/27/export-csv-directly-from-mysql/</link>
      <pubDate>Thu, 27 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/11/27/export-csv-directly-from-mysql/</guid>
      <description>How ofter were you asked by a client for a CSV (or excel) file with data from their app? I get asked that question quite often, so I wanted make the process as easy as possible. And guess what? You can create CSV files directly from MySQL with just one query!
Let&amp;rsquo;s say you want to export the id, name and email fields from your users table to a CSV file.</description>
    </item>
    
    <item>
      <title>SQL: Ordering with NULL values</title>
      <link>https://www.devroom.io/2008/11/14/sql-ordering-with-null-values/</link>
      <pubDate>Fri, 14 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/11/14/sql-ordering-with-null-values/</guid>
      <description>First seen at Kabisa Blog: SQL: Ordering with NULL values
This post tells you how to sort NULL values in a column to the bottom and sort the remaining non-NULL values.
This is really great in combination with LEFT JOIN queries that may yield NULL values.</description>
    </item>
    
    <item>
      <title>RSpec&#39;ing with Time.now</title>
      <link>https://www.devroom.io/2008/11/05/rspecing-with-timenow/</link>
      <pubDate>Wed, 05 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/11/05/rspecing-with-timenow/</guid>
      <description>I&amp;rsquo;m currently writing some RSpec tests that use Time.now.
I want my model to calculate a duration and store the future time in the database. I&amp;rsquo;ve already specced the calculation of the duration, but I also want to spec that everything gets saved correctly. Here&amp;rsquo;s my first spec:
1it &amp;#34;should do stuff&amp;#34; do 2 m = Model.create() 3 m.expires_at.should eql(Time.now + some_value) 4end This fails.
It fails because Time.now is quite accurate and some milliseconds have passed between the two calls.</description>
    </item>
    
    <item>
      <title>BaseApp: a quick start for your Rails App</title>
      <link>https://www.devroom.io/2008/09/28/baseapp-a-quick-start-for-your-rails-app/</link>
      <pubDate>Sun, 28 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/09/28/baseapp-a-quick-start-for-your-rails-app/</guid>
      <description>BaseApp is no longer maintained. There is a very good alternative called bort.
For the impatient: http://github.com/ariejan/baseapp
Got issues? Feature requests or patches? http://baseapp.lighthouseapp.com/
Every Rails developer has at least once developed an application that needed user authentication and some basic UI features like tabs and a sidebar. Ask yourself now: &amp;ldquo;how often have you installed and extended the restful_authentication plugin?&amp;rdquo;.
Yes, I have done it quite a few times and everytime I find myself writing the same code over and over again.</description>
    </item>
    
    <item>
      <title>JRuby with Thomas Enebo</title>
      <link>https://www.devroom.io/2008/09/03/jruby-with-thomas-enebo/</link>
      <pubDate>Wed, 03 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/09/03/jruby-with-thomas-enebo/</guid>
      <description>This morning I attended another JRuby talk, this time with Thomas Enebo. It turned out to be, almost default, Sun JRuby talk.
There was one interesting difference, though. Normally we are shown how to run Ruby on Java and how to use Java components in our Ruby apps. Thomas took JMonkeyEngine (a java 3d scenegraph/game engine) and showed that he coded a simple game in Ruby, steering clear of the rather complex Java code.</description>
    </item>
    
    <item>
      <title>Panel Discussion with DHH and Rails Core Members</title>
      <link>https://www.devroom.io/2008/09/03/panel-discussion-with-dhh-and-rails-core-members/</link>
      <pubDate>Wed, 03 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/09/03/panel-discussion-with-dhh-and-rails-core-members/</guid>
      <description>Yesterday evening we attended a panel discussion with DHH and Rails Core Members Jeremy Kemper and Michael Koziarski.
DHH elaborated on default choices (like database, templating system and test suite) after being asked if Rails would switch over to RSpec instead of TestUnit. The answer was that Rails offers several defaults, which should suffice for new and basic users, who don&amp;rsquo;t know about all options and just want to get started.</description>
    </item>
    
    <item>
      <title>JRuby with Nick Sieger</title>
      <link>https://www.devroom.io/2008/09/02/jruby-with-nick-sieger/</link>
      <pubDate>Tue, 02 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/09/02/jruby-with-nick-sieger/</guid>
      <description>A tutorial on JRuby with Nick Sieger holding your hand is just great. This guy knows JRuby inside-out and he has an answer to even the most difficult of questions.
After a short 15 minute introduction, Nick left us with our Rails app to start it with JRuby on a mongrel. I&amp;rsquo;ve been toying around with JRuby a bit before, and this was rather easy. Some people, however, encounter some issues with their apps because of incompatible gems, like OpenSSL or RMagic which are not available for the Java platform.</description>
    </item>
    
    <item>
      <title>RailsConfEurope: The first tutorial</title>
      <link>https://www.devroom.io/2008/09/02/railsconfeurope-the-first-tutorial/</link>
      <pubDate>Tue, 02 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/09/02/railsconfeurope-the-first-tutorial/</guid>
      <description>Today, RailsConfEurope 2008 started! Well, at least if you signed up for Tutorial Day.
The first tutorial I&amp;rsquo;m attending is about Hacking Rails Internals. At first I thought about this as a great way to enhance my own apps and be able to easily integrate other apps like Radiant or Mephisto. However, the more I saw of the demo (it really is more a demo than a tutorial really), the more I disliked hacking Rails Internals.</description>
    </item>
    
    <item>
      <title>Leaving for RailsConf Europe 2008</title>
      <link>https://www.devroom.io/2008/09/01/leaving-for-railsconf-europe-2008/</link>
      <pubDate>Mon, 01 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/09/01/leaving-for-railsconf-europe-2008/</guid>
      <description>Today a delegation of Kabisa is leaving for RailsConf Europe 2008! We&amp;rsquo;re going by train this year and we hope to arrive this afternoon around 5.
I&amp;rsquo;ll keep regular updates here on Ariejan.net about RailsConf and all the things I&amp;rsquo;ve seen and done.
If you&amp;rsquo;re going to visit RailsConf Europe yourself, feel free to seek us out and have a chat!
See you at RailsConf!</description>
    </item>
    
    <item>
      <title>ActiveRecord Read Only Model</title>
      <link>https://www.devroom.io/2008/08/17/activerecord-read-only-models/</link>
      <pubDate>Sun, 17 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/08/17/activerecord-read-only-models/</guid>
      <description>ActiveRecord is great in providing CRUD for your data models. In some cases, however, it&amp;rsquo;s necessary to prevent write access to these models. The data may be provided by an external source and should only be used as a reference in your application, for example.
I&amp;rsquo;m going to show you how you can easily mark a Model as read only all the time. In this example I have a Item model like this:</description>
    </item>
    
    <item>
      <title>Skinny Controllers and Overweight Models</title>
      <link>https://www.devroom.io/2008/08/17/skinny-controllers-and-overweight-models/</link>
      <pubDate>Sun, 17 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/08/17/skinny-controllers-and-overweight-models/</guid>
      <description>All Rails developers know the slogan &amp;ldquo;Skinny Controllers, Fat Models&amp;rdquo; and I heartily agree with it. Every conference you go to, you hear it. But there&amp;rsquo;s a problem! My Fat models got overweight!
What happened? By stuffing all applications logic in the Models, they become fat, very fat. Although this is supposed to be a good thing, I don&amp;rsquo;t like it. My models get so fat that it takes me forever to scroll through it and find the method I&amp;rsquo;m working on.</description>
    </item>
    
    <item>
      <title>Useless Ruby Gems for your pleasure</title>
      <link>https://www.devroom.io/2008/08/14/useless-ruby-gems-for-your-pleasure/</link>
      <pubDate>Thu, 14 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/08/14/useless-ruby-gems-for-your-pleasure/</guid>
      <description>The past few days I&amp;rsquo;v taken some time to find out how to create a Ruby Gem. This has been on my to-do list for quite a while, but now I&amp;rsquo;m able to tick it off.
Well, what did I make?
The first Gem can also be used as a Ruby on Rails plugin and is called ActsAsGold. If you&amp;rsquo;ve ever played World of Warcraft, you&amp;rsquo;ll know how the money system works.</description>
    </item>
    
    <item>
      <title>Ruby on Rails: UUID as your ActiveRecord primary key</title>
      <link>https://www.devroom.io/2008/08/12/ruby-on-rails-uuid-as-your-activerecord-primary-key/</link>
      <pubDate>Tue, 12 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/08/12/ruby-on-rails-uuid-as-your-activerecord-primary-key/</guid>
      <description>Sometimes, using the good old &amp;lsquo;auto increment&amp;rsquo; from your database just isn&amp;rsquo;t good enough. If you really require that all your objects have unique ID, even across systems and different databases there&amp;rsquo;s only one way go: UUID or Universally Unique IDentifier.
A UUID is generated in such a way that every generated UUID in the world is unique. For example: 12f186e6-687e-11ad-843e-001b632783f1. This string is randomly generated based on several factors that guarantee it&amp;rsquo;s uniqueness.</description>
    </item>
    
    <item>
      <title>Ariejan.net Link Party 07/21/2008</title>
      <link>https://www.devroom.io/2008/07/21/ariejannet-link-party-07212008/</link>
      <pubDate>Mon, 21 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/07/21/ariejannet-link-party-07212008/</guid>
      <description>Creating JavaScript widgets in Rails - igvita.com
How to offer your users a way to &#39;widgetize&#39; their content and use it elsewhere as well. tags: rails, ruby, ror, widget, widgets, share
Free Photoshop Brushes at Brusheezy!
A great resource for (photoshop) brushes.
tags: photoshop, brushes, design, resources, graphics, patterns, webdesign, share</description>
    </item>
    
    <item>
      <title>Ariejan.net Link Party 07/17/2008</title>
      <link>https://www.devroom.io/2008/07/17/ariejannet-link-party-07172008/</link>
      <pubDate>Thu, 17 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/07/17/ariejannet-link-party-07172008/</guid>
      <description>gearsonrails - Google Code
Gears on Rails helps developers to write fully offline functional web applications based on Gears without learning a bit of Gears.
tags: gearsonrails, ruby, rails, ror, share
Sexy Forms in Rails
Easily create very sexy form in Rails with minimum effort. tags: rails, forms, sexy, share</description>
    </item>
    
    <item>
      <title>Photography Heaven</title>
      <link>https://www.devroom.io/2008/07/11/photography-heaven/</link>
      <pubDate>Fri, 11 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/07/11/photography-heaven/</guid>
      <description>For those who didn&amp;rsquo;t know yet, I&amp;rsquo;m on Flickr - and I just reorganized my entire photo collection.
Back in the day when I signed up with Flickr, my idea was to store all my photo&amp;rsquo;s there and be done with it. Now, I realize that I only want to upload the good stuff, and keep the rest for myself.
Please, hop by at http://flickr.com/photos/ariejan. Feel free to add me to your contacts or to leave a comment.</description>
    </item>
    
    <item>
      <title>Ariejan.net Link Party 07/10/2008</title>
      <link>https://www.devroom.io/2008/07/10/ariejannet-link-party-07102008/</link>
      <pubDate>Thu, 10 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/07/10/ariejannet-link-party-07102008/</guid>
      <description>The Pirate Bay Wants to Encrypt the Entire Internet « NewTeeVee
tags: pirate bay, privacy, encryption, internets, share
Favicon Generator
Create a favicon based on text and colours selected by you. Very nice.
tags: favicon, design, generator, web, webdesign, icons, tool, graphics, share
Git for the lazy - Spheriki
tags: spheriki, git, usage, tutorial, tricks, tips, share
10 Ways to Take Stunning Portraits
tags: portraits, photography, share</description>
    </item>
    
    <item>
      <title>How to digg-proof your WordPress blog</title>
      <link>https://www.devroom.io/2008/07/09/how-to-digg-proof-your-wordpress-blog/</link>
      <pubDate>Wed, 09 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/07/09/how-to-digg-proof-your-wordpress-blog/</guid>
      <description>&lt;p&gt;Every blogger hopes to be able to say some day to his friends: &amp;ldquo;I got Dugg!&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;It means you&amp;rsquo;ve written something special that a lot of other people are interested in and it gives you a big ego boost. But there won&amp;rsquo;t be much to enjoy when your server can&amp;rsquo;t handle the extra work.&lt;/p&gt;
&lt;p&gt;In this post I&amp;rsquo;ll try to explain some measures you can take to be ready for when &amp;ldquo;The Big Digg&amp;rdquo; arrives at your blog&amp;rsquo;s door step. I&amp;rsquo;ll focus on WordPress in particular here, because that&amp;rsquo;s what I&amp;rsquo;m using. However, the concepts I&amp;rsquo;ll show you can be applied to any web site.&lt;/p&gt;
&lt;p&gt;There are a few things you can do to survive when you get Dugg. The key to my tips here is that you can implement them at (almost) no cost in advance of getting dugg.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Ariejan.net Link Party 07/08/2008</title>
      <link>https://www.devroom.io/2008/07/08/ariejannet-link-party-07082008/</link>
      <pubDate>Tue, 08 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/07/08/ariejannet-link-party-07082008/</guid>
      <description>StarCraft 2 Gameplay
tags: starcraft, blizzard, gaming, share
Cheat Sheets for Front-end Web Developers
tags: frontend, cheat, cheatsheet, html, css, share
40 Photoshop Tutorials for Lighting and Abstract Effects | Vandelay Website Design
tags: vandelay, photoshop, tutorials, effects, share
Trollop: Simple Yet Powerful Command Line Option Processor
tags: trollop, ruby, cli, option processor, share
Typetester – Compare fonts for the screen
tags: fonts, design, typography, webdesign, css, tools, web, font, share</description>
    </item>
    
    <item>
      <title>Zoek jij &#39;n uitdagende baan?? </title>
      <link>https://www.devroom.io/2008/06/06/zoek-jij-n-uitdagende-baan/</link>
      <pubDate>Fri, 06 Jun 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/06/06/zoek-jij-n-uitdagende-baan/</guid>
      <description>First off, sorry to all the English-reading people, but this post is intended for my Dutch audience.
Even wat updates voor mijn Nederlandstalige publiek. Ik heb wat nieuwtjes voor jullie, dus lees snel verder!
Allereerst wil ik even melden dat ik a.s. dinsdag (10 juni) te vinden zal zijn op RubyEnRails 2008. Dus, ben jij er ook, laat &amp;rsquo;t me even weten! Laat even &amp;rsquo;n commentaartje achter, of nog beter: bel/sms me even dinsdag op 06-17103624, dan spreken we elkaar zeker!</description>
    </item>
    
    <item>
      <title>The best IT books hand-picked for you!</title>
      <link>https://www.devroom.io/2008/05/30/the-best-it-books-hand-picked-for-you/</link>
      <pubDate>Fri, 30 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/05/30/the-best-it-books-hand-picked-for-you/</guid>
      <description>Are you ready to dive into Rails? Want to familiarize yourself with the deeper dungeons of Ruby? Are you an aspiring game developer? Or maybe you just want to learn how to use Git or Subversion effectively?
In any case, I&amp;rsquo;ve opened up a little book shop with a hand-picked selection of books on a variety of subjects, included Ruby and Rails, Game Development (with Java) and Version Control.
Please, feel free to take a look around.</description>
    </item>
    
    <item>
      <title>The migration that cannot be undone: Irreversible Migration</title>
      <link>https://www.devroom.io/2008/05/06/the-migration-that-cannot-be-undone-irreversible-migration/</link>
      <pubDate>Tue, 06 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/05/06/the-migration-that-cannot-be-undone-irreversible-migration/</guid>
      <description>Migrations have up and down methods, as we all know. But in some cases, your up method does things you can&amp;rsquo;t undo in your down method.
For example:
1def self.up 2 # Change the zipcode from the current :integer to a :string type. 3 change_column :address, :zipcode, :string 4end Now, converting integers to strings will always work. But, you feel it coming, converting a string into an integer will not always be possible.</description>
    </item>
    
    <item>
      <title>How to: Compile packages on Debian/Ubuntu by hand</title>
      <link>https://www.devroom.io/2008/05/04/how-to-compile-packages-on-debianubuntu-by-hand/</link>
      <pubDate>Sun, 04 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/05/04/how-to-compile-packages-on-debianubuntu-by-hand/</guid>
      <description>In some very rare situations you may find yourself in the need to recompile a Debian (or Ubuntu) package. Luckily for all of use, the great Debian packaging system makes this a piece of cake.
Let&amp;rsquo;s say we want to recompile mod_python for apache 2 to hook in to python 2.5, instead of the default 2.4.
First, get every thing installed you may need to build the libapache2-mod-python package.
1$ apt-get build-dep libapache2-mod-python Okay, next let&amp;rsquo;s grab the source for the package.</description>
    </item>
    
    <item>
      <title>GIT: Using the stash</title>
      <link>https://www.devroom.io/2008/04/23/git-using-the-stash/</link>
      <pubDate>Wed, 23 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/04/23/git-using-the-stash/</guid>
      <description>I bet the following has happened to you: you are happily working on a project and are in the middle of something. You are not ready to commit your changes, because you your tests don&amp;rsquo;t pass yet. Then your client calls with a bug report that needs to be fixed right now. (You know how clients can be.)
So, what do you do? Throw away your current changes to make the patch?</description>
    </item>
    
    <item>
      <title>Permanently redirect WordPress pages</title>
      <link>https://www.devroom.io/2008/04/15/permanently-redirect-wordpress-pages/</link>
      <pubDate>Tue, 15 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/04/15/permanently-redirect-wordpress-pages/</guid>
      <description>After my trip to Mephisto some time back, I noticed that some pages were accessible from different URLs. After moving back to WordPress, these permalinks no longer work.
I&amp;rsquo;m running WordPress with Apache2, so it shouldn&amp;rsquo;t be too hard redirect those old permalinks to their new locations. (That&amp;rsquo;s what rewriting is all about anyway).
Here is the default .htaccess file generated by WordPress:
1# BEGIN WordPress 2&amp;lt;IfModule mod_rewrite.c&amp;gt; 3RewriteEngine On 4RewriteBase / 5RewriteCond %{REQUEST_FILENAME} !</description>
    </item>
    
    <item>
      <title>Debian Etch: RMagick LoadError</title>
      <link>https://www.devroom.io/2008/04/10/debian-etch-rmagick-loaderror/</link>
      <pubDate>Thu, 10 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/04/10/debian-etch-rmagick-loaderror/</guid>
      <description>If you&amp;rsquo;re on Debian Etch, you may encounter the following error
1libMagickWand.so.1: cannot open shared object file: No such file or directory - /usr/lib/ruby/gems/1.8/gems/rmagick-2.3.0/lib/RMagick2.so This basically means that the libMagickWand.so.1 file cannot be found. However, it is available on your system. All you need to do to fix it, is tell your box to look in the right place for the file.
To fix this issue once and for all, open up /etc/ld.</description>
    </item>
    
    <item>
      <title>Enabling Trac Email notifications</title>
      <link>https://www.devroom.io/2008/04/09/enabling-trac-email-notifications/</link>
      <pubDate>Wed, 09 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/04/09/enabling-trac-email-notifications/</guid>
      <description>If you&amp;rsquo;ve ever reported a but to Ruby on Rails, you&amp;rsquo;ll have noticed that their Trac has nice email notification feature. And I bet you want that in your Trac as well!
Now, email notification are nothing exotic. You don&amp;rsquo;t need any plugins, just an outgoing SMTP server and access to your trac.ini file.
In your trac directory open up conf/trac.ini and look for the [notification] header. Make sure you have at least the following settings.</description>
    </item>
    
    <item>
      <title>Here we go again: WordPress 2.5</title>
      <link>https://www.devroom.io/2008/04/09/here-we-go-again-wordpress-25/</link>
      <pubDate>Wed, 09 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/04/09/here-we-go-again-wordpress-25/</guid>
      <description>Okay, here we go then. I&amp;rsquo;ve managed to drop Mephisto after only a few weeks of service.
As a Rails developer, I liked the idea of running my own blog on something Rails. However, Mephisto was a big disappointment. Especially compared to WordPress 2.5. Mephisto has been on life support for quite a while now, and it&amp;rsquo;s just too complex to be easy to hack. Now, don&amp;rsquo;t get me wrong. I love hacking Ruby, but not too much on my blog.</description>
    </item>
    
    <item>
      <title>Rails Snippet: Caching expensive calls</title>
      <link>https://www.devroom.io/2008/04/09/rails-snippet-caching-expensive-calls/</link>
      <pubDate>Wed, 09 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/04/09/rails-snippet-caching-expensive-calls/</guid>
      <description>In Rails, from time to time, you may encounter you have a method you call several times, but which returns always the same result. For example, have the following:
1class Person &amp;lt; ActiveRecord::Base 2 has_many :articles 3 4 def get_approved_articles 5 self.articles.find(:all, :conditions =&amp;gt; {:approved =&amp;gt; true}, :order =&amp;gt; &amp;#39;approved_on DESC&amp;#39;) 6 end 7end A query is fired every time you call Person#get_approved_articles. To cache the result of the query during this request, just add a bit of magic</description>
    </item>
    
    <item>
      <title>Ruby on Rails plugin: Throttler</title>
      <link>https://www.devroom.io/2008/02/07/ruby-on-rails-plugin-throttler/</link>
      <pubDate>Thu, 07 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/02/07/ruby-on-rails-plugin-throttler/</guid>
      <description>For those of you who have missed it: I&amp;rsquo;ve released a plugin yesterday that allows you to throttle your Rails app.
Read the original announcement and installation/usage instructions Read how you can put Throttler to good use in your app</description>
    </item>
    
    <item>
      <title>The Presidents of the United States of America Live</title>
      <link>https://www.devroom.io/2008/01/25/the-presidents-of-the-united-states-of-america-live/</link>
      <pubDate>Fri, 25 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/01/25/the-presidents-of-the-united-states-of-america-live/</guid>
      <description>Yeah! I got myself some tickets to The Presidents of the United States of America, live at Effenaar, Eindhoven.
To be honest with you, I&amp;rsquo;ve never been to a real concert before, so this is going to be very much fun for me! Among the few albums I bought back in the year 1995 was PUSA.</description>
    </item>
    
    <item>
      <title>Your help is needed! - Railsjobs.nl</title>
      <link>https://www.devroom.io/2008/01/22/your-help-is-needed-railsjobsnl/</link>
      <pubDate>Tue, 22 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/01/22/your-help-is-needed-railsjobsnl/</guid>
      <description>Since I started Railsjobs.nl some time ago, I&amp;rsquo;d like to ask you a simple question. Thanks for putting in your $0.02 :)
{democracy:2} </description>
    </item>
    
    <item>
      <title>Roles: Admins pretending to be users!</title>
      <link>https://www.devroom.io/2008/01/19/roles-admins-pretending-to-be-users/</link>
      <pubDate>Sat, 19 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/01/19/roles-admins-pretending-to-be-users/</guid>
      <description>Most applications have some sort of role system. You have administrators, who can do basically everything, semi-administrators and &amp;ldquo;regular Joe&amp;rdquo; users.
Now, sometimes you want, as an administrator, be able to login as a user to solve some problem, or manage settings for a user, or whatever.
Harm did a very nice write-up on how we did this in a Rails project of ours. You can read the article here.</description>
    </item>
    
    <item>
      <title>Attack of the Killer Bunnies</title>
      <link>https://www.devroom.io/2008/01/15/attack-of-the-killer-bunnies/</link>
      <pubDate>Tue, 15 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/01/15/attack-of-the-killer-bunnies/</guid>
      <description> Bunny killing the garden Originally uploaded by ariejan Well, here they go then! Just swooping in, eating all the green stuff from your garden!! Someone stop them!
This was taken in the back-yard at Laura&#39;s parents house. The neighbours have about a dozen rabbits, but they are allowed to walk around as they wish, occasionally finding their way into other people&#39;s gardens. </description>
    </item>
    
    <item>
      <title>Kabisa Blog</title>
      <link>https://www.devroom.io/2008/01/13/kabisa-blog/</link>
      <pubDate>Sun, 13 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/01/13/kabisa-blog/</guid>
      <description>Well, we&amp;rsquo;ve got our blog up and running at Kabisa now! Our entire team will be posting interesting Ruby, Rails, Java and Subversion articles that may be of very good use to you.
Check out the blog now on http://blog.kabisa.nl or grab the RSS Feed to stay up-to-date.</description>
    </item>
    
    <item>
      <title>Review: Parking London</title>
      <link>https://www.devroom.io/2008/01/03/review-parking-london/</link>
      <pubDate>Thu, 03 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2008/01/03/review-parking-london/</guid>
      <description>This is a paid review
I&amp;rsquo;ve been asked to review a service named Parking London. What this service does is two things, really. Firstly, it allows owners of garages and parking spaces in London to offer their spots to others. A location can be specified, with a small description. Of course, the price for the monthly tenancy or sale is added.
The service doesn&amp;rsquo;t look very special at a first glance.</description>
    </item>
    
    <item>
      <title>Write a DVD-Video from the Linux console</title>
      <link>https://www.devroom.io/2007/12/31/write-a-dvd-video-from-the-linux-console/</link>
      <pubDate>Mon, 31 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/12/31/write-a-dvd-video-from-the-linux-console/</guid>
      <description>This is probably my last post for this year, and it&amp;rsquo;s not about Ruby on Rails! Or web development! It&amp;rsquo;s about how to burn a DVD-Video from the Linux console.
I know, there are tons of fancy apps (with a decent GUI) that allow you to create DVD-Video disks from Gnome or KDE. But, my Linux machine has no monitor attached and I don&amp;rsquo;t care for hogging up resources by running X.</description>
    </item>
    
    <item>
      <title>For You: Merry Christmas and a Happy 2008!!!</title>
      <link>https://www.devroom.io/2007/12/20/for-you-merry-christmas-and-a-happy-2008/</link>
      <pubDate>Thu, 20 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/12/20/for-you-merry-christmas-and-a-happy-2008/</guid>
      <description>We (Laura and I) wish you a very merry Christmas and a happy 2008!
I hope to welcome you back on Ariejan.net in 2008. Happy Holidays!</description>
    </item>
    
    <item>
      <title>How to install MySQL on Ubuntu/Debian</title>
      <link>https://www.devroom.io/2007/12/12/how-to-install-mysql-on-ubuntudebian/</link>
      <pubDate>Wed, 12 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/12/12/how-to-install-mysql-on-ubuntudebian/</guid>
      <description>It may seem easy for some, but for others, installing MySQL on Ubuntu or Debian Linux is not an easy task. This article explains to you how to install the MySQL Server and Client packages on a Ubuntu/Debian system.
First of all, make sure your package management tools are up-to-date. Also make sure you install all the latest software available.
1sudo apt-get update 2sudo apt-get dist-upgrade After a few moments (or minutes, depending on the state of your system), you&amp;rsquo;re ready to install MySQL.</description>
    </item>
    
    <item>
      <title>Run Internet Explorer 5, 5.5, 6 and 7 natively on Mac OS X Leopard or Tiger</title>
      <link>https://www.devroom.io/2007/12/12/run-internet-explorer-5-55-6-and-7-natively-on-mac-os-x-leopard-or-tiger/</link>
      <pubDate>Wed, 12 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/12/12/run-internet-explorer-5-55-6-and-7-natively-on-mac-os-x-leopard-or-tiger/</guid>
      <description>As a web developer, you probably know all about browsers. They suck. Well, some more than others. But, if you develop apps for Windows users, you&amp;rsquo;ll have to test your app with Internet Explorer.
Now, as a good Rails developer, I&amp;rsquo;m using a Mac. I can test apps with FireFox, Safari and Opera without problems. But Internet Explorer is always a problem. I used Parallels for a while to run an instance of Windows XP to test with IE.</description>
    </item>
    
    <item>
      <title>Wil jij mijn collega zijn? - Kabisa is hiring!</title>
      <link>https://www.devroom.io/2007/12/07/wil-jij-mijn-collega-zijn-kabisa-is-hiring/</link>
      <pubDate>Fri, 07 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/12/07/wil-jij-mijn-collega-zijn-kabisa-is-hiring/</guid>
      <description>Zoals je waarschijnlijk al wel weet, werk ik al een tijdje bij Kabisa, en ik ben op zoek naar nieuwe collega&amp;rsquo;s!
Ben jij een een ICT&amp;rsquo;er (liefst met Java of Ruby ervaring, maar dat is niet vereist), laat dan even je gegevens achter op jobs.kabisa.nl.
Ook als je iemand kent die ICT&amp;rsquo;er is, en toe is aan een nieuwe uitdaging, kun je deze persoon opgeven op jobs.kabisa.nl.
De eerste 100 aanmeldingen ontvangen een Nationale Bioscoopbon.</description>
    </item>
    
    <item>
      <title>Rails: calculated column caching</title>
      <link>https://www.devroom.io/2007/12/06/rails-calculated-column-caching/</link>
      <pubDate>Thu, 06 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/12/06/rails-calculated-column-caching/</guid>
      <description>Sometimes you&amp;rsquo;re working on a Rails project and you think: &amp;ldquo;hey! This should be easy!&amp;rdquo;. Well, most of the time it is. I&amp;rsquo;m working on a project that allows people to rate objects (what they really are doesn&amp;rsquo;t matter at all).
I&amp;rsquo;m using the acts_as_rateable plugin which creates an extra database table containing all ratings. I also have a table with my objects. Using the plugin I&amp;rsquo;m now able to do the following:</description>
    </item>
    
    <item>
      <title>MySQL: (Re)set the auto-increment value of a table</title>
      <link>https://www.devroom.io/2007/11/30/mysql-reset-the-auto-increment-value-of-a-table/</link>
      <pubDate>Fri, 30 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/11/30/mysql-reset-the-auto-increment-value-of-a-table/</guid>
      <description>Sometimes it&amp;rsquo;s necessary to set the starting point of a MySQL auto-increment value.
Normally, MySQL starts auto-incrementing at 1. But let&amp;rsquo;s say you want to start at 10.000, because you want at least a five figure number. You can use the following query to set the MySQL auto-index:
1ALTER TABLE some_table AUTO_INCREMENT=10000 If you want to delete all records from your table and restart auto-index at 1, you might be tempted to run a DELETE query, followed by the above example, setting the auto increment value to 1.</description>
    </item>
    
    <item>
      <title>RailsJobs.nl - Ruby on Rails Jobs in The Netherlands</title>
      <link>https://www.devroom.io/2007/11/27/railsjobsnl-ruby-on-rails-jobs-in-the-netherlands/</link>
      <pubDate>Tue, 27 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/11/27/railsjobsnl-ruby-on-rails-jobs-in-the-netherlands/</guid>
      <description>The time is now ripe to announce RailsJobs.nl - A shiny new jobboard for Ruby on Rails developers who are seeking a job in the Netherlands or Belgium. I started the site a few days ago and business and job seekers have started to find RailsJobs.nl.
If you&amp;rsquo;re a business looking for Rails developers, feel free to add your job now. Use the code &amp;lsquo;RJINTRO&amp;rsquo; to get a free 30-day trial period.</description>
    </item>
    
    <item>
      <title>Bash it! - Number of messages in Postfix queue</title>
      <link>https://www.devroom.io/2007/11/15/bash-it-number-of-messages-in-postfix-queue/</link>
      <pubDate>Thu, 15 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/11/15/bash-it-number-of-messages-in-postfix-queue/</guid>
      <description>Got bash? Here&amp;rsquo;s a nice snippet that will return the number of messages currently in the postfix queue.
1postqueue -p | tail -n 1 | cut -d&amp;#39; &amp;#39; -f5 Feel free to post any updates or improvements.</description>
    </item>
    
    <item>
      <title>Party time!</title>
      <link>https://www.devroom.io/2007/10/17/party-time/</link>
      <pubDate>Wed, 17 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/10/17/party-time/</guid>
      <description>It&amp;rsquo;s that time of the year again&amp;hellip; my birthday. I&amp;rsquo;m turning 27 today and I&amp;rsquo;ll be celebrating this today with friends and family.
As to let you know what I&amp;rsquo;ve been up to the past few weeks: Flickr Phototset, FilmBASE, Linked-in and some &amp;ldquo;classified&amp;rdquo; stuff I can&amp;rsquo;t link to.
Feel free to congratulate me with a comment, or drop me an e-mail.
And oh, me and Kabisa are accepting Rails projects, if you have any.</description>
    </item>
    
    <item>
      <title>Google increases storage!</title>
      <link>https://www.devroom.io/2007/10/08/google-increases-storage/</link>
      <pubDate>Mon, 08 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/10/08/google-increases-storage/</guid>
      <description>Google today increased the storage available to Google App users.
Before free app users (like me) has 2Gb available, and premium users could store up to 10Gb of mail and documents.
Today, Google upgraded the premium accounts to 25Gb! Store for the free version of Google Apps has been leveled with the current Gmail service (2910Mb at the moment).</description>
    </item>
    
    <item>
      <title>Flash not clearing after a request?</title>
      <link>https://www.devroom.io/2007/09/26/flash-not-clearing-after-a-request/</link>
      <pubDate>Wed, 26 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/26/flash-not-clearing-after-a-request/</guid>
      <description>&lt;p&gt;We all know &amp;ldquo;The Flash&amp;rdquo; to be a very useful tool in almost every application we write. What does &amp;ldquo;The Flash&amp;rdquo; actually do?&lt;/p&gt;
&lt;blockquote&gt; The flash provides a way to pass temporary objects between actions. Anything you place in the flash will be exposed to the very next action and then cleared out.&lt;/blockquote&gt;
Well, that&#39;s all nice, but what if you notice that your flash is not cleared, and is shown in one or more subsequent requests as well?</description>
    </item>
    
    <item>
      <title>The Glorious Canon EOS 400D Digital</title>
      <link>https://www.devroom.io/2007/09/25/the-glorious-canon-eos-400d-digital/</link>
      <pubDate>Tue, 25 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/25/the-glorious-canon-eos-400d-digital/</guid>
      <description>&lt;p&gt;Well, I finally made the big leap into (semi-)professional photography. I bought a Canon EOS 400D Digital SLR Camera. (That&amp;rsquo;s the XTi Rebel for you American folk) This nifty machine allows me to take very beautiful pictures, and I already had a little practice yesterday.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Wordpress 2.3 released!</title>
      <link>https://www.devroom.io/2007/09/25/wordpress-23-released/</link>
      <pubDate>Tue, 25 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/25/wordpress-23-released/</guid>
      <description>Today Wordpress 2.3 was released (see the release notes). I&amp;rsquo;ve already updated Ariejan.net, of course, and I&amp;rsquo;m now able to use all of the following neat new features:
Tagging (you can convert your categories to tags if you like) Update Notifications when new versions of your plugins or WordPress are released Improved post and draft management Mark articles as &#39;pending review&#39; A new and improved visual editor (which doesn&#39;t suck! Wow!</description>
    </item>
    
    <item>
      <title>Rails 2.0 New Features</title>
      <link>https://www.devroom.io/2007/09/24/rails-20-new-features/</link>
      <pubDate>Mon, 24 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/24/rails-20-new-features/</guid>
      <description>As David Heinemeier Hansson already told us all during his RailsConfEurope 2007 keynote, it&amp;rsquo;s time to take off the party hats. It&amp;rsquo;s no longer at time to celebrate all the new stuff we get. It&amp;rsquo;s time to celebrate what we have already.
With this statement DHH ends the revolution of Rails. During the past three years a lot of new and exiting features were added to Rails. However, now the time has come to evolve Rails further.</description>
    </item>
    
    <item>
      <title>Whooop - here it is! The new Ariejan.net!</title>
      <link>https://www.devroom.io/2007/09/24/whooop-here-it-is-the-new-ariejannet/</link>
      <pubDate>Mon, 24 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/24/whooop-here-it-is-the-new-ariejannet/</guid>
      <description>&lt;p&gt;Wow! Here it is then! The fully restyled, revamped and repimped Ariejan.net! (I hope you like it). So, &amp;ldquo;what&amp;rsquo;s changed?&amp;rdquo;, you may ask.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;I&#39;ve upgraded to &lt;a href=&#34;http://www.wordpress.org&#34;&gt;WordPress 2.3&lt;/a&gt;, which has very sexy tagging support.&lt;/li&gt;
	&lt;li&gt;A new template with a bit more of my personal taste included (blue!)&lt;/li&gt;
	&lt;li&gt;A major division of articles: &lt;a href=&#34;http://beta.ariejan.net/category/blog/&#34;&gt;Blog posts&lt;/a&gt; (which are regular messages from me to the world) and &lt;a href=&#34;http://beta.ariejan.net/category/features/&#34;&gt;featured articles&lt;/a&gt; (which are the good stuff you come for). &lt;/li&gt;
	&lt;li&gt;I&#39;ve finally written the &lt;a href=&#34;https://www.devroom.io/about&#34;&gt;about page&lt;/a&gt; (although a photo is still missing)&lt;/li&gt;
	&lt;li&gt;I&#39;ve got &lt;a href=&#34;http://flickr.com&#34;&gt;Flickr&lt;/a&gt; support lined up - ready to go when I can afford myself a &lt;a href=&#34;http://www.usa.canon.com/consumer/controller?act=ModelInfoAct&amp;fcategoryid=139&amp;modelid=14256&#34;&gt;Canon 400D SLR Camera&lt;/a&gt; (or Rebel XTi for you American folk). (&lt;a href=&#39;http://www.pledgie.com/campaigns/337&#39; target=&#39;_new&#39;&gt;help me out?&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>RailsConf Europe 2007!</title>
      <link>https://www.devroom.io/2007/09/17/railsconf-europe-2007/</link>
      <pubDate>Mon, 17 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/17/railsconf-europe-2007/</guid>
      <description>Well, after a long trip, I arrived at my hotel yesterday in Berlin. Today I, and my mates from Kabisa, have joined RailsConf Europe 2007. I don&amp;rsquo;t think I&amp;rsquo;ll be giving a full, in-detail report of everything that happens, but I will let you know anything worth your (and my) time.
If you happen to be in Berlin these days, feel free to drop me an e-mail at ariejan at ariejan.</description>
    </item>
    
    <item>
      <title>10 reasons why Microsoft&#39;s 10 reasons not to use Google Apps suck</title>
      <link>https://www.devroom.io/2007/09/11/10-reasons-why-microsofts-10-reasons-not-to-use-google-apps-suck/</link>
      <pubDate>Tue, 11 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/11/10-reasons-why-microsofts-10-reasons-not-to-use-google-apps-suck/</guid>
      <description>&lt;p&gt;You may have already read the &lt;a href=&#34;http://www.readwriteweb.com/archives/microsoft_10_reasons_against_google_apps.php&#34;&gt;10 reasons why Microsoft thinks the enterprise should not use Google Apps&lt;/a&gt;. Well, here&amp;rsquo;s my response:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Content_for, yield and making sure something gets displayed</title>
      <link>https://www.devroom.io/2007/09/01/content_for-yield-and-making-sure-something-gets-displayed/</link>
      <pubDate>Sat, 01 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/09/01/content_for-yield-and-making-sure-something-gets-displayed/</guid>
      <description>You may have heard of a very nice Rails technique that used content_for and yield to stuff custom blocks of content into a layout. For example, in a view you could add a block like this:
1&amp;lt;% content_for :sidebar do %&amp;gt; 2 This goes into the sidebar when viewing this action! 3&amp;lt;% end %&amp;gt; It doesn&amp;rsquo;t matter where you put it in the view, because, as you may notice, the content within the content_for block is not shown in the view.</description>
    </item>
    
    <item>
      <title>Blueprint 0.5 Rails Plugin released</title>
      <link>https://www.devroom.io/2007/08/31/blueprint-05-rails-plugin-released/</link>
      <pubDate>Fri, 31 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/31/blueprint-05-rails-plugin-released/</guid>
      <description>A few days ago BlueprintCSS 0.5 was released (read the Olav&amp;rsquo;s posts here). I&amp;rsquo;ve updated the plugin accordingly. The most important change is the use of 24 (!) instead of 14 columns.
Installation and usage of the plugin have not changed. See my original announcement for more information.</description>
    </item>
    
    <item>
      <title>BlueprintCSS Rails Generator</title>
      <link>https://www.devroom.io/2007/08/27/blueprintcss-rails-generator/</link>
      <pubDate>Mon, 27 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/27/blueprintcss-rails-generator/</guid>
      <description>This plugin is no longer available. Blueprint nowadays ships with a very good &amp;lsquo;compress&amp;rsquo; script that allows you to generate all kinds of nice BluePrint layouts. Having a plugin to just copy some files seems a bit excessive. I think that, if you&amp;rsquo;re a web developer, you&amp;rsquo;ve seen the BlueprintCSS framework. BlueprintCSS offers quite a bit of CSS code that allows you to quickly and easily build a grid-based layout, using pure CSS.</description>
    </item>
    
    <item>
      <title>Super Simple Authentication Plugin and Generator</title>
      <link>https://www.devroom.io/2007/08/24/super-simple-authentication-plugin-and-generator/</link>
      <pubDate>Fri, 24 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/24/super-simple-authentication-plugin-and-generator/</guid>
      <description>I hereby proudly announce my Super Simple Authentication plugin and generator.
All right, what does it do? Sometimes you need to protect your actions and controllers, but you don&amp;rsquo;t want to go about installing restful_authentication or anything like that. Adding a simple password for certain actions would suffice. So, I wrote a little plugin that can generate some code for you that allows you to easily protect your app with a simple password.</description>
    </item>
    
    <item>
      <title>Using Iconv to convert UTF-8 to ASCII (on Linux)</title>
      <link>https://www.devroom.io/2007/08/21/using-iconv-to-convert-utf-8-to-ascii-on-linux/</link>
      <pubDate>Tue, 21 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/21/using-iconv-to-convert-utf-8-to-ascii-on-linux/</guid>
      <description>There are situations where you want to remove all the UTF-8 goodness from a string (mostly because of legacy systems you&amp;rsquo;re working with). Now, this is rather easy to do. I&amp;rsquo;ll give you an example: çéß
Should be converted to cess. On my mac, I can simply use the following snippet to convert the string:
1s = &amp;#34;çéß&amp;#34; 2s = Iconv.iconv(&amp;#39;ascii//translit&amp;#39;, &amp;#39;utf-8&amp;#39;, s).to_s # returns &amp;#34;c&amp;#39;ess&amp;#34; 3s.gsub(/\W/, &amp;#39;&amp;#39;) # return &amp;#34;cess&amp;#34; Very nice and all, but when I deploy to my Debian 4.</description>
    </item>
    
    <item>
      <title>I’m back in business!</title>
      <link>https://www.devroom.io/2007/08/20/im-back-in-business/</link>
      <pubDate>Mon, 20 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/20/im-back-in-business/</guid>
      <description>Ariejan.net is (almost) back in business. With some minor cosmetic improvements to the theme, I&amp;rsquo;m ready for today.
Tomorrow I will reorganise my tags/categories a bit and add some new fancy plugins that will help searching visitors a hand in finding what they need. (More about that later, I promise).
I hope you like the improved style of Ariejan.net. (If you don&amp;rsquo;t, feel free to make a redesign and mail it to me.</description>
    </item>
    
    <item>
      <title>Kabisa, RailsConf Europe and Ariejan.net</title>
      <link>https://www.devroom.io/2007/08/20/kabisa-railsconf-europe-and-ariejannet/</link>
      <pubDate>Mon, 20 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/20/kabisa-railsconf-europe-and-ariejannet/</guid>
      <description>Hello there! Just a quick post to let you know I&amp;rsquo;m still alive and kicking! Two weeks ago I started my job at Kabisa and I&amp;rsquo;ve been very busy with that. I really like working at Kabisa and we have some great things planned for the near future. (We&amp;rsquo;re currently working on a few client projects that need our attention.)
I&amp;rsquo;d also like to let you know that I&amp;rsquo;ll be attending RailsConf Europe 2007 this year!</description>
    </item>
    
    <item>
      <title>I’m Back!</title>
      <link>https://www.devroom.io/2007/08/01/im-back/</link>
      <pubDate>Wed, 01 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/08/01/im-back/</guid>
      <description>All right, I&amp;rsquo;m back!
Yes, my holiday was nice. Thanks for asking. Now, I&amp;rsquo;ve been looking at the poll in my previous post and I&amp;rsquo;ve made up my mind.
I&amp;rsquo;m going to look into writing a blogging system in Ruby on Rails. I don&amp;rsquo;t want to copy typo or Mephisto or anything, but just put my own thoughts together, add a bit of spice you guys (and girls?) have to offer and release it some time.</description>
    </item>
    
    <item>
      <title>Ariejan.net - What’s next?</title>
      <link>https://www.devroom.io/2007/07/16/ariejannet-whats-next/</link>
      <pubDate>Mon, 16 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/16/ariejannet-whats-next/</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;#whatsnext&#34;&gt;Vote now! What&amp;rsquo;s Next for Ariejan.net? Your opinion counts!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;After a few days (or were it weeks?) of silence, an update on Ariejan.net. What&amp;rsquo;s been happening?&lt;/p&gt;
&lt;p&gt;First of all, I &lt;a href=&#34;http://ariejan.net/2007/06/19/geslaagd-passed-my-final-exams/&#34;&gt;recently graduated&lt;/a&gt; and am now officially a Bachelor of ICT. Since my current employer didn&amp;rsquo;t have the same views regarding my future as I did, I decided to go &amp;ldquo;shopping&amp;rdquo; for a new job.&lt;/p&gt;
&lt;p&gt;I found that new job with a small business named &lt;a href=&#34;http://www.kabisa.nl&#34;&gt;Kabisa ICT&lt;/a&gt;. The people at Kabisa and I found common ground very quickly with Ruby on Rails and Agile Development. This, to my surprise, resulted in a job offer very quickly&amp;hellip; and I accepted.&lt;/p&gt;
&lt;p&gt;The next two weeks I&amp;rsquo;ve got a holiday planned to the French Alps with Laura. We hope to get some rest there while enjoying the beautiful scenery.&lt;/p&gt;
&lt;p&gt;When I get back from France, I start my new job at Kabisa. I hope to learn a lot of new stuff while working there. Hopefully I&amp;rsquo;ll be able to share that experience with your here, at Ariejan.net, which leads me to the following question.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s Next?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s next for Ariejan.net? Since all the Web 2.0 buzz is all about communities and all that, I want your opinion on what to do with Ariejan.net.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Please vote in the poll below and let me know what your thoughts are. When I get back from my (well earned) vacation, I&amp;rsquo;ll check back here and see what you, my guests, really want.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;You have the option of adding new stuff. Use it wisely, please!&lt;/em&gt;
&lt;a title=&#34;whatsnext&#34; name=&#34;whatsnext&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;{democracy:1}&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>Clear DNS Cache on your router</title>
      <link>https://www.devroom.io/2007/07/07/clear-dns-cache-on-your-router/</link>
      <pubDate>Sat, 07 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/07/clear-dns-cache-on-your-router/</guid>
      <description>&lt;p&gt;I currently have a Linksys router at home that has the &lt;a href=&#34;http://www.dd-wrt.com/dd-wrtv2/index.php&#34;&gt;DD-WRT Firmware&lt;/a&gt; on it. I&amp;rsquo;ve been using it for quite some time now, and I&amp;rsquo;m very happy with it.&lt;/p&gt;
&lt;p&gt;In my previous post I mentioned there was some trouble with DNS for Ariejan.net. I&amp;rsquo;ve changed nameservers and there&amp;rsquo;s always something that goes wrong.&lt;/p&gt;
&lt;p&gt;Anyway, my router runs DNSMasq, a caching nameserver for my local network. (What this does is, it stores DNS queries and when the same request is made later on, the response is already here (on my network), and my ISP&amp;rsquo;s nameservers don&amp;rsquo;t have to be queried. This makes for a great speed optimalization!)&lt;/p&gt;
&lt;p&gt;The problem was, that my router was caching parts from the old and parts from the new nameservers for Ariejan.net. I could have waited 24-48 hours to let DNSMasq figure it all out by itself, but I&amp;rsquo;m not that patient. What I needed to was reset the cache DNSMasq had built.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How to write a Rails Plugin (for controllers)</title>
      <link>https://www.devroom.io/2007/07/06/how-to-write-a-rails-plugin-for-controllers/</link>
      <pubDate>Fri, 06 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/06/how-to-write-a-rails-plugin-for-controllers/</guid>
      <description>A few days back I posted my very first Rails plugin, Acts As Exportable. Although writing a plugin is rather easy, you must know a few tricks on how to get things going.
This article will show you how to develop a plugin that adds functionality to a controller (other plugins, e.g. for models) will follow later. In fact, I&amp;rsquo;ll explain to you how I developed my Acts As Exportable plugin.</description>
    </item>
    
    <item>
      <title>Some DNS problems with Ariejan.net</title>
      <link>https://www.devroom.io/2007/07/06/some-dns-problems-with-ariejannet/</link>
      <pubDate>Fri, 06 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/06/some-dns-problems-with-ariejannet/</guid>
      <description>This is just a quick note to let you know there are currently some issues with DNS for Ariejan.net. This basically means that Trac and SVN are currently not available. I&amp;rsquo;ve made the appropriate changes and things should be working again in a few hours.
I&amp;rsquo;m very sorry for the inconvenience.
Update: It appears that things are working again. If you have any issues with Trac, please let me know.</description>
    </item>
    
    <item>
      <title>How to resolve Subversion Conflicts</title>
      <link>https://www.devroom.io/2007/07/04/how-to-resolve-subversion-conflicts/</link>
      <pubDate>Wed, 04 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/04/how-to-resolve-subversion-conflicts/</guid>
      <description>If there&amp;rsquo;s more than one person working on a project, chances are (although slim) that at some point two developers work on the same piece of code and check it in. To clarify, let me give you an example.
The repository is currently at revision 5 and contains a file named &amp;lsquo;README&amp;rsquo;. Revision 5 of that file contains a single line: &amp;lsquo;This is a README file&amp;rsquo;.
Now, both you and your colleague check out r5 and edit README.</description>
    </item>
    
    <item>
      <title>Got updates?</title>
      <link>https://www.devroom.io/2007/07/03/got-updates/</link>
      <pubDate>Tue, 03 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/03/got-updates/</guid>
      <description>Do you want to stay up-to-date about what&amp;rsquo;s happening at Ariejan.net? That&amp;rsquo;s real easy!
You can subscribe to my RSS Feed and receive updates as they happen in your favourite RSS reader.
If you don&amp;rsquo;t have an RSS reader (or don&amp;rsquo;t want one), you can subscribe to my e-mail service. This service will gather up all the posts of the previous day (if any) and send them to you between 7am and 9am (CET).</description>
    </item>
    
    <item>
      <title>How to create and apply a patch with Subversion</title>
      <link>https://www.devroom.io/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/</link>
      <pubDate>Tue, 03 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/</guid>
      <description>It&amp;rsquo;s been a while since I posted something new on the use of Subversion. I&amp;rsquo;ve been working with the tool a lot, and I&amp;rsquo;ve found that patches are a great way to communicate code changes.
For those of you who are still learning, let me first explain what a patch is. A patch is a text file that contains the alteration that were made to a specific file. It includes the lines that have been removed and the lines that have been added.</description>
    </item>
    
    <item>
      <title>How to force data to be downloaded as a file from your Rails app</title>
      <link>https://www.devroom.io/2007/07/02/how-to-force-data-to-be-downloaded-as-a-file-from-your-rails-app/</link>
      <pubDate>Mon, 02 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/02/how-to-force-data-to-be-downloaded-as-a-file-from-your-rails-app/</guid>
      <description>In the essence of every application is data. One way or another your application manages data and at some point, you need to get that data out. Either you want to synchronize the data with another application or device. Or you want to move your data to another system all together. Either way, you&amp;rsquo;ll need to gather your data and send it from your application to the client&amp;hellip; as a file.</description>
    </item>
    
    <item>
      <title>ActiveScaffold &#43; acts_as_taggable &#43; Auto Complete</title>
      <link>https://www.devroom.io/2007/07/01/activescaffold-acts_as_taggable-auto-complete/</link>
      <pubDate>Sun, 01 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/07/01/activescaffold-acts_as_taggable-auto-complete/</guid>
      <description>I&amp;rsquo;ve talked before on how to use ActiveScaffold with acts_as_taggable_on_steroids.
The problem with that solution was that, although the checkboxes for every tag are very nice, you couldn&amp;rsquo;t easily add new tags. For some people, this may be fine, for others, it is not.
Together with a colleague (who wishes not to be named), I found a solution that is quite elegant. Instead of using check boxes, and creating all kinds of subforms in ActiveScaffold, we opted for an auto_completing, comma-separated list of tags.</description>
    </item>
    
    <item>
      <title>AJAX Rules! 80 JavaScript Solutions for professional coding</title>
      <link>https://www.devroom.io/2007/06/21/ajax-rules-80-javascript-solutions-for-professional-coding/</link>
      <pubDate>Thu, 21 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/21/ajax-rules-80-javascript-solutions-for-professional-coding/</guid>
      <description>Smashing Magazine has put together a very comprehensive list of 80 AJAX JavaScript solutions for professional coding. How great is that?!
The list includes solutions for auto-completion, inline editing, menus, tabs, calendars, all sorts of interactive stuff and tables, charts, graphs, forms, grids, lightboxes, galleries, showcases, visual effects and also, some basic JavaScripts that everybody should know about.
Check out the list now!</description>
    </item>
    
    <item>
      <title>Action Mailer: All mail comes from MAILER DAEMON</title>
      <link>https://www.devroom.io/2007/06/20/action-mailer-all-mail-comes-from-mailer-daemon/</link>
      <pubDate>Wed, 20 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/20/action-mailer-all-mail-comes-from-mailer-daemon/</guid>
      <description>Today I was trying to send mail from my Rails application through Action Mailer. This is quite simple, but I wanted to use a custom from-address. So, I create a setup_email method in my UserNotifier class that sets some defaults for every email sent out:
1class UserNotifier &amp;lt; ActionMailer::Base 2 protected 3 def setup_email(user) 4 @recipients = &amp;#34;#{user.email}&amp;#34; 5 @from = &amp;#34;My Application &amp;lt;no-reply@example.com&amp;gt;&amp;#34;&amp;gt; 6 end 7end May you spotted the problem already, but I didn&amp;rsquo;t.</description>
    </item>
    
    <item>
      <title>Rails production server setup and deployment on Ubuntu/Debian</title>
      <link>https://www.devroom.io/2007/06/20/rails-production-server-setup-and-deployment-on-ubuntudebian/</link>
      <pubDate>Wed, 20 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/20/rails-production-server-setup-and-deployment-on-ubuntudebian/</guid>
      <description>Please digg this story to spread the word! Thanks!
Okay, this is a big one! This article will show you (and explain to you) how to setup a Ruby on Rails production server with Ubuntu 7.04 or Debian 4.0 and how to deploy your Rails application there.
First, what&amp;rsquo;s getting installed:
Ruby 1.8.5 Ruby on Rails 1.2.3 Subversion 1.4 MySQL 5.x Server Apache 2.2.x Mongrel Cluster I assume that you have just installed a fresh system with Ubuntu Linux 7.</description>
    </item>
    
    <item>
      <title>Geslaagd! / Passed my final exams!</title>
      <link>https://www.devroom.io/2007/06/19/geslaagd-passed-my-final-exams/</link>
      <pubDate>Tue, 19 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/19/geslaagd-passed-my-final-exams/</guid>
      <description>Please scroll down for the English version.
Bij wijze van hoge uitzondering, een post in het Nederlands op mijn weblog! Ik ben vandaag geslaagd voor mijn opleiding Hogere Informatica (aan Fontys Hogeschool ICT, Eindhoven) en mag mezelf nu gediplomeerd Software Engineer noemen!
Ik ben op drie punten beoordeeld:
Eindrapport: 7,5 – Ik ben er gewoon niet goed in, maar het is toch nog wat redelijks geworden. Eindpresentatie: 8 – Het ging gewoon lekker Resultaat: 9 – Dit slaat op het werk dat ik heb afgeleverd, mijn inzet, zelfstandigheid etc.</description>
    </item>
    
    <item>
      <title>Buy it now! Mac OS X 10.5 Leopard</title>
      <link>https://www.devroom.io/2007/06/14/buy-it-now-mac-os-x-105-leopard/</link>
      <pubDate>Thu, 14 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/14/buy-it-now-mac-os-x-105-leopard/</guid>
      <description>It appears that Amazon is accepting pre-orders for Apple Mac OS X Version 10.5 Leopard, which is scheduled for release in October 2007.
There are, as usual two version available, Apple Mac OS X Version 10.5 Leopard at $129 for a single license and the Apple Mac OS X Version 10.5 Leopard Family Pack for $199, which includes licenses for up to five Macs in your home.
If you want to be sure you have the latest version of when it arrives: pre-order now!</description>
    </item>
    
    <item>
      <title>BASH your SVN and Trac installation!</title>
      <link>https://www.devroom.io/2007/06/12/bash-your-svn-and-trac-installation/</link>
      <pubDate>Tue, 12 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/12/bash-your-svn-and-trac-installation/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve already discussed how to install &lt;a href=&#34;http://ariejan.net/?s=subversion&#34;&gt;Subversion&lt;/a&gt; and &lt;a href=&#34;http://ariejan.net/?s=trac&#34;&gt;Trac&lt;/a&gt; on your &lt;a href=&#34;http://ariejan.net/?s=ubuntu&#34;&gt;Ubuntu server&lt;/a&gt;. In my case I have a server that manages different SVN and Trac installations for a group of developers.&lt;/p&gt;
&lt;p&gt;Creating a new SVN repository and Trac installation every time is quite boring and &lt;em&gt;&amp;ldquo;if you need to do it more than once, you should automate it&amp;rdquo;&lt;/em&gt;. So, that&amp;rsquo;s what I did.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ActiveScaffold, Acts_as_taggable_on_steroids</title>
      <link>https://www.devroom.io/2007/06/11/activescaffold-acts_as_taggable_on_steroids/</link>
      <pubDate>Mon, 11 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/11/activescaffold-acts_as_taggable_on_steroids/</guid>
      <description>Update: also read Active Scaffold + Acts_as_taggable + Auto Completion.
This is kind of an advanced topic, but I think it may be useful to a lot of people.
ActiveScaffold is a great plugin to start building a user interface. The great thing about AS is, that is automatically recognizes associated models. When editing a model, you can easily add or select another model that you want to associate with is.</description>
    </item>
    
    <item>
      <title>Find and Replace with a MySQL Query</title>
      <link>https://www.devroom.io/2007/06/10/find-and-replace-with-a-mysql-query/</link>
      <pubDate>Sun, 10 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/10/find-and-replace-with-a-mysql-query/</guid>
      <description>There are times when you have a lot of data in a database (let&amp;rsquo;s say wp_posts for a Wordpress blog like Ariejan.net). When you need to find and replace certain strings, this can be a very tedious task. Find all posts containing the &amp;ldquo;needle&amp;rdquo; string and manually replace all these occurrences with &amp;ldquo;chocolate&amp;rdquo;. With about 200 posts, you can imagine how long this would take to do manually.
But, as I always say: &amp;ldquo;You&amp;rsquo;re a programmer!</description>
    </item>
    
    <item>
      <title>Send mail with a BASH Shell Script</title>
      <link>https://www.devroom.io/2007/06/10/send-mail-with-a-bash-shell-script/</link>
      <pubDate>Sun, 10 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/10/send-mail-with-a-bash-shell-script/</guid>
      <description>Like any good programmer, I try to automate the crap out of everything. If you have to do it more than once, I try to write a script for it.
This time I want to show you how you can easily send an e-mail from a BASH script. The idea is that you want the script to send out an email to notify a user that something has happened.
We&amp;rsquo;re going to use the GNU Mail utility here.</description>
    </item>
    
    <item>
      <title>Ultimate List of Ruby Resources</title>
      <link>https://www.devroom.io/2007/06/10/ultimate-list-of-ruby-resources/</link>
      <pubDate>Sun, 10 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/10/ultimate-list-of-ruby-resources/</guid>
      <description>&lt;p&gt;This is the first post, named &amp;ldquo;Ruby&amp;rdquo;, in a series of &amp;ldquo;Ultimate List of &amp;hellip; Resources&amp;rdquo;. I&amp;rsquo;m going to compose several lists for different topics I encounter during my development work. To start, I begin with Ruby. Later, I will add &amp;ldquo;Ultimate Lists&amp;rdquo; about Ruby on Rails, Subversion, AJAX and some other topics.&lt;/p&gt;
&lt;p&gt;Feel free to &lt;a href=&#34;https://www.devroom.io/contact&#34;&gt;let me know&lt;/a&gt; if I missed an important resource. I&amp;rsquo;m also open to suggestions about other &amp;ldquo;Ultimate Lists&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;For now, you&amp;rsquo;ll have to settle for the &amp;ldquo;Ultimate List of Ruby Resources&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Coming up: Ubuntu Development Server Guide</title>
      <link>https://www.devroom.io/2007/06/07/coming-up-ubuntu-development-server-guide/</link>
      <pubDate>Thu, 07 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/06/07/coming-up-ubuntu-development-server-guide/</guid>
      <description>My articles about setting up a Ubuntu Development Server (part 1 and part 2) have been very successful.
I&amp;rsquo;m considering writing a new guide with more up-to-date information on how to setup a development server that allows you (and your team) to develop software, manage source code, track tickets and all that stuff.
What should, according to you, be included in this guide? Please let me know! Just leave a comment and I&amp;rsquo;ll pick it up.</description>
    </item>
    
    <item>
      <title>Trac, WebAdmin plugin and global configuration</title>
      <link>https://www.devroom.io/2007/05/30/trac-webadmin-plugin-and-global-configuration/</link>
      <pubDate>Wed, 30 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/30/trac-webadmin-plugin-and-global-configuration/</guid>
      <description>&lt;p&gt;As you may know I manage quite a few &lt;a href=&#34;http://trac.edgewall.org/&#34;&gt;trac&lt;/a&gt; installations. A few days ago I upgrade my server from Ubuntu &amp;ldquo;Dapper Drake&amp;rdquo; 6.06 to Ubuntu &amp;ldquo;Feisty Fawn&amp;rdquo; 7.04. This also upgrade trac 0.9.x to 0.10.3.&lt;/p&gt;
&lt;p&gt;I was happy, since trac 0.10.3 has many improvements over 0.9.x, but there was one thing I was not so happy about. After the upgrade, I upgraded all my trac installations and everything seemed to be okay, except for the &lt;a href=&#34;http://trac.edgewall.org/wiki/WebAdmin&#34;&gt;WebAdmin plugin&lt;/a&gt;. Apparently it was not installed anymore.&lt;/p&gt;
&lt;p&gt;What happened? After upgrading the trac package, the plugins directory was emptied. Well, just re-install the WebAdmin plugin for 0.10.x.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Installing RMagick Ruby Gem on Mac OS X 10.4.9</title>
      <link>https://www.devroom.io/2007/05/29/installing-rmagick-ruby-gem-on-mac-os-x-1049/</link>
      <pubDate>Tue, 29 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/29/installing-rmagick-ruby-gem-on-mac-os-x-1049/</guid>
      <description>&lt;p&gt;When you want to manipulate images with Ruby (or your Rails application) you&amp;rsquo;ll probably want RMagick installed. This is no easy feat on Mac OS X.&lt;/p&gt;
&lt;p&gt;The official guide suggests installing X11 and using darwinports to install everything. This guide shows you how to easily install RMagick on you Mac OS X system. In this case I use Mac OS X 10.4.9.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Slow connections with ProFTPD</title>
      <link>https://www.devroom.io/2007/05/29/slow-connections-with-proftpd/</link>
      <pubDate>Tue, 29 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/29/slow-connections-with-proftpd/</guid>
      <description>My shiny new VPS, which is running Ubuntu Linux, uses ProFTPD for FTP access. Today I noticed that setting up the connection takes about 5 to 10 seconds. This is really annoying when editing files through FTP.
So, I investigated and found that by default ProFTPD tries to revolve the hostname of the client in order to put that in the logs instead of a plain IP address. This lookup can take quite some time, let&amp;rsquo;s say 5 to 10 seconds, especially when the look up fails and you have to wait on a time-out.</description>
    </item>
    
    <item>
      <title>BAT - TER - Y</title>
      <link>https://www.devroom.io/2007/05/28/bat-ter-y/</link>
      <pubDate>Mon, 28 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/28/bat-ter-y/</guid>
      <description>You all know the word: &amp;ldquo;Battery&amp;rdquo;. Like most words, it has several meanings. This site greatly explains the meaning of the word battery, and adds a little lyric-sugar to it!
Come on boys and girls! Sing along to BAT • TER • Y.
(Please digg the site or post a link to it. Thanks!)</description>
    </item>
    
    <item>
      <title>MERGE request failed on ‘/path/to/file’</title>
      <link>https://www.devroom.io/2007/05/21/merge-request-failed-on-pathtofile/</link>
      <pubDate>Mon, 21 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/21/merge-request-failed-on-pathtofile/</guid>
      <description>After upgrading my Subversion server to Ubuntu Feisty, I noticed that when committing I got the following error:
1svn: MERGE request failed on &amp;#39;/svn/repository/trunk&amp;#39; 2svn: MERGE of &amp;#39;/svn/repository/trunk&amp;#39;: 200 OK (http://svn.myserver.com) Although the messages says that the commit failed, it has not. A simple &amp;lsquo;svn update&amp;rsquo; will merge the changes you made to the repository to your working copy again and you&amp;rsquo;re good to go.
So, what is the problem here?</description>
    </item>
    
    <item>
      <title>FeedBurner acquired by Google!</title>
      <link>https://www.devroom.io/2007/05/18/feedburner-acquired-by-google/</link>
      <pubDate>Fri, 18 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/18/feedburner-acquired-by-google/</guid>
      <description>It looks like Google is about to acquire FeedBurner. Just a note to all of you to let you know. If you have a blog or RSS enabled website, burn your feed now and get your AdSense account ready! Soon you&amp;rsquo;ll be able to put targeted ads in your RSS feed and add another source of income to your list! Great news!
Please digg and share! Thank you!</description>
    </item>
    
    <item>
      <title>Rails Snippet: Write like Orwell with to_sentence</title>
      <link>https://www.devroom.io/2007/05/09/rails-snippet-write-like-orwell-with-to_sentence/</link>
      <pubDate>Wed, 09 May 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/05/09/rails-snippet-write-like-orwell-with-to_sentence/</guid>
      <description>A few weeks ago I posted an article that explained how to create a comma separated list from a hash of objects. When I was browsing the Rails API documentation I came across a method named to_sentence.
What this little bugger does is create a human readable, comma separated list of items in an array or hash. But the big difference here is that you can specify what the last separator must be.</description>
    </item>
    
    <item>
      <title>Ariejan.net server move</title>
      <link>https://www.devroom.io/2007/04/29/ariejannet-server-move/</link>
      <pubDate>Sun, 29 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/04/29/ariejannet-server-move/</guid>
      <description>Just a note to let you know that Ariejan.net has just been moved to a new server! Well, I&amp;rsquo;ve moved from shared hosting with Delta9 Internet to a VPS solution.
Why on earth would I do such a thing? I&amp;rsquo;m very happy with the service I&amp;rsquo;ve recieved from Delta9 in the past. However, I wanted more control over my hosting. I&amp;rsquo;m a web developer and I have special needs. Such needs include Subversion and Ruby on Rails hosting, state-of-the art PHP and MySQL installations.</description>
    </item>
    
    <item>
      <title>Rails, Resources and Permalinks</title>
      <link>https://www.devroom.io/2007/04/12/rails-resources-and-permalinks/</link>
      <pubDate>Thu, 12 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/04/12/rails-resources-and-permalinks/</guid>
      <description>There has been quite a bit of discussion about creating permalinks with a rails resource. In this article I will show you how to create permalinks for a resource named &amp;lsquo;pages&amp;rsquo; without giving up on any of the resource goodness!
Before I start I&amp;rsquo;ll presume you have a page scaffold_resource setup in your rails application. Make sure you have at least the following fields in your page model:
1t.column :title, :string 2t.</description>
    </item>
    
    <item>
      <title>TipSnippet: Create a RSS feed</title>
      <link>https://www.devroom.io/2007/04/03/tipsnippet-create-a-rss-feed/</link>
      <pubDate>Tue, 03 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/04/03/tipsnippet-create-a-rss-feed/</guid>
      <description>RSS is hot! So, you want to fit your new Rails app with one too! That&amp;rsquo;s easy, of course, but you just need to know what to do.
This snippet will show you how to create an RSS feed form your RESTful articles. I&amp;rsquo;ll assume you know how to generate a resource named &amp;lsquo;article&amp;rsquo; with a title, body and the default created_at and updated_at attributes.
You&amp;rsquo;ll first need to add a new collection to your resource in config/routes.</description>
    </item>
    
    <item>
      <title>What do you want for AutoFlickr?</title>
      <link>https://www.devroom.io/2007/04/02/what-do-you-want-for-autoflickr/</link>
      <pubDate>Mon, 02 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/04/02/what-do-you-want-for-autoflickr/</guid>
      <description>Almost a month ago I published my WordPress plugin AutoFlickr, which shows one or more related photos from the popular Flickr site in your post.
Now I&amp;rsquo;m wondering what new features AutoFlickr users want. What parts of the current plugin are superfluous. Also, I&amp;rsquo;d like to know how is using AutoFlickr?
Please post a comment with your wishes for AutoFlickr 1.1. People using AutoFlickr may contact me to let me know about their site.</description>
    </item>
    
    <item>
      <title>5 Reasons why PC OEMs should offer Linux</title>
      <link>https://www.devroom.io/2007/03/29/5-reasons-why-pc-oems-should-offer-linux/</link>
      <pubDate>Thu, 29 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/29/5-reasons-why-pc-oems-should-offer-linux/</guid>
      <description>DELL currently offers Linux as an option for certain laptop and desktop models. Talk is that this service may be expanded to all models. This is a good thing, of course. Results of a recent survey by DELL show that more than 70% of over 100.000 respondents want to use Linux for home and office! What has been keeping companies like DELL away from this?
I&amp;rsquo;ve found five good reasons why OEMs should offer Linux as at least an option:</description>
    </item>
    
    <item>
      <title>Rails Tip Snippet: Create a comma-seperate list</title>
      <link>https://www.devroom.io/2007/03/27/rails-tip-snippet-create-a-comma-seperate-list/</link>
      <pubDate>Tue, 27 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/27/rails-tip-snippet-create-a-comma-seperate-list/</guid>
      <description>Do you have the need to create a list of roles a certain user belongs to? Enumerate the users attached to a company? All you want is a simple list with the names seperated by commas.
Users: John, Dick, Harry
With Ruby on Rails this is really easy. You probably have a collection of user objects. All you want is a list of names:
1@users.collect{|u| u.name}.join(&amp;#39;, &amp;#39;) Read more Tip Snippets?</description>
    </item>
    
    <item>
      <title>Subversion: How to revert to a previous revision</title>
      <link>https://www.devroom.io/2007/03/27/subversion-how-to-revert-to-a-previous-revision/</link>
      <pubDate>Tue, 27 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/27/subversion-how-to-revert-to-a-previous-revision/</guid>
      <description>You&amp;rsquo;ve been there. You have been developing in your trunk for a while and at revision 127 you get the feeling you&amp;rsquo;ve done it all wrong! The production server is humming away at revision 123 and that&amp;rsquo;s where you want to start out again. But how can you start again from revision 123? Easy as this with Subversion:
1svn merge -rHEAD:123 . This will see what changes you&amp;rsquo;ve made since r123 up until now (r127 in your case) and &amp;lsquo;undo&amp;rsquo; them.</description>
    </item>
    
    <item>
      <title>Speedlinking: Top 28 startup resources</title>
      <link>https://www.devroom.io/2007/03/25/speedlinking-top-28-startup-resources/</link>
      <pubDate>Sun, 25 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/25/speedlinking-top-28-startup-resources/</guid>
      <description>I&amp;rsquo;ve been reading a lot about startups this weekend. Here is a quick post with all the articles I came across this weekend and found worth mentioning:
Startupping TIP How to start a startup Ten rules for web startups Business 2.0: How to build a bulletproof startup The 18 Mistakes that kill Startups The Hardest Lessons for Startups to Learn How to fund a startup 5 Reasons to create your first startup 9 Must reads before you start a startup Little Known Ways to Brand on the Cheap: 99 Tips for Poor Web Startups 6 Startup Lessons For The Year 2007 Tips for startup companies Ideas for startups 8 Simple Steps to Build Traffic For Your Internet Startup 7 Tips for naming your Web 2.</description>
    </item>
    
    <item>
      <title>Be productive! 37 things you can do on the toilet</title>
      <link>https://www.devroom.io/2007/03/23/be-productive-37-things-you-can-do-on-the-toilet/</link>
      <pubDate>Fri, 23 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/23/be-productive-37-things-you-can-do-on-the-toilet/</guid>
      <description>&lt;p&gt;We all have to go. Most of us once a day. Others have to do it more often. However, we can be much more productive while doing or daily duty at the toilet.&lt;/p&gt;
&lt;p&gt;Besides the old &amp;ldquo;joke book&amp;rdquo; and &amp;ldquo;newspaper&amp;rdquo; what can you do on the toilet to kill the time? I&amp;rsquo;ve found 37 things that might be a good option for you next number 2.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Rails Tip Snippet: Logging informational messages to your log</title>
      <link>https://www.devroom.io/2007/03/22/rails-tip-snippet-logging-informational-messages-to-your-log/</link>
      <pubDate>Thu, 22 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/22/rails-tip-snippet-logging-informational-messages-to-your-log/</guid>
      <description>&lt;p&gt;This &amp;ldquo;Rails Tip Snippet&amp;rdquo; is one in a series of small blocks of code that will make your life developing Rails applications a bit easier.&lt;/p&gt;
&lt;p&gt;This first snippet shows you how you can log informational message to your log file so you can track any important actions that happened. As an example you may want to log all user accounts that get deleted:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>26 Things you can do with an old PC</title>
      <link>https://www.devroom.io/2007/03/21/26-things-you-can-do-with-an-old-pc/</link>
      <pubDate>Wed, 21 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/21/26-things-you-can-do-with-an-old-pc/</guid>
      <description>We&amp;rsquo;ve all been there. Your old trusty PC dies. First thing you do is buy a new one. After you&amp;rsquo;re done playing with all the new bells and whistles your old PC didn&amp;rsquo;t have, it&amp;rsquo;s time to thing what to do with the old fella. Here are some tips!
The whole system can be used like this:
Give it away to friends or family who can use the &#34;upgrade&#34; Take it apart and see what comes out Create route/firewall for your network Creata a file server Install and try Linux Create a jukebox / media player Sell it Trash it / Recycle it Ceremonially set it on fire See what happens when you shoot it Symbolically throw it out of the window If you only have the casing, this can be put to great use!</description>
    </item>
    
    <item>
      <title>8 Great ways to use Google for your start-up</title>
      <link>https://www.devroom.io/2007/03/20/8-great-ways-to-use-google-for-your-start-up/</link>
      <pubDate>Tue, 20 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/20/8-great-ways-to-use-google-for-your-start-up/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.google.com&#34;&gt;Google&lt;/a&gt; is more than a search engine or an advertising company. Of course, it&amp;rsquo;s their core business, but Google has more to offer. In this article I&amp;rsquo;ll describe how you can put Google to work for your start-up (or existing business!). Oh, did I mention you can do all of this for free?&lt;/p&gt;
&lt;p&gt;The most commonly known service Google provides besides search and advertising is &lt;a href=&#34;http://mail.google.com&#34;&gt;Gmail&lt;/a&gt;. Nowadays Gmail is a common concept in the field of e-mail services. When the services started you got a 1Gb inbox. Today you can store up to around 2.8Gb of emails and Google Talk chat transcripts! Wouldn&amp;rsquo;t it be great to use this for you company for free?&lt;/p&gt;
&lt;p&gt;Well you can! And a lot more!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How I made 6 figures with Google Adsense in 10 days</title>
      <link>https://www.devroom.io/2007/03/20/how-i-made-6-figures-with-google-adsense-in-10-days/</link>
      <pubDate>Tue, 20 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/20/how-i-made-6-figures-with-google-adsense-in-10-days/</guid>
      <description>There has been a lot of talk about making money with Google Adsense. There are claims of people earning over $10.000 every month by just putting a few ads up on their site.
I say they are amateurs! I&amp;rsquo;ll show you how to make a 6-figure earning within 10 days after you put up ads on your site! Just follow these easy steps and you can quit your day job after just ten days of work.</description>
    </item>
    
    <item>
      <title>Wordpress Plugin: AutoFlickr 1.0</title>
      <link>https://www.devroom.io/2007/03/07/wordpress-plugin-autoflickr-10/</link>
      <pubDate>Wed, 07 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/07/wordpress-plugin-autoflickr-10/</guid>
      <description>&lt;p&gt;This post announces my first Wordpress Plugin: AutoFlickr.&lt;/p&gt;
&lt;h3&gt;What does it do?&lt;/h3&gt;
&lt;p&gt;When enabled, AutoFlickr will automatically find and insert one ore more photos that are related to the content of your post. Photos are found and hosted on &lt;a href=&#34;http://www.flickr.com&#34;&gt;Flickr&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;Automatically insert one or more photos&lt;/li&gt;
	&lt;li&gt;Customizable (photo size, number of photos and type of search).&lt;/li&gt;
	&lt;li&gt;Option to select what pages to automatically show photos.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Subversion Cheat Sheet Update: 1.0.1</title>
      <link>https://www.devroom.io/2007/03/06/subversion-cheat-sheet-update-101/</link>
      <pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/03/06/subversion-cheat-sheet-update-101/</guid>
      <description>I&amp;rsquo;ve just uploaded version 1.0.1 of the Subversion Cheat Sheet to Ariejan.net.
Please download this new version and get the following change:
Fixed typo. Thanks to Gregory Gerard. Head to the Subversion Cheat Sheet page now and download the new version.</description>
    </item>
    
    <item>
      <title>4 Unusual uses for Subversion</title>
      <link>https://www.devroom.io/2007/02/26/4-unusual-uses-for-subversion/</link>
      <pubDate>Mon, 26 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/02/26/4-unusual-uses-for-subversion/</guid>
      <description>&lt;p&gt;The most common use of Subversion is to keep source code of applications versioned and secure. However, there are quite a few other options that are not so common at all.&lt;/p&gt;
&lt;p&gt;Quickly read on and find out if maybe you can put Subversion to use in quite a few ways you didn&amp;rsquo;t expect.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Subversion Cheat Sheet 1.0!</title>
      <link>https://www.devroom.io/2007/02/23/subversion-cheat-sheet-10/</link>
      <pubDate>Fri, 23 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/02/23/subversion-cheat-sheet-10/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve noticed a huge interest in my &lt;a href=&#34;https://www.devroom.io/tags/subversion?phpMyAdmin=umjo2KeaY3NOkOP-0%2Czc9FZ9J96&#34;&gt;Subversion articles&lt;/a&gt; lately and I thought to create a nice cheat sheet for all you.&lt;/p&gt;
&lt;p&gt;The cheat sheets includes common commands that you&amp;rsquo;ll use when using Subversion on a daily basis. I didn&amp;rsquo;t include every option or command that subversion supports, nor did I include any administration stuff. This sheet is aimed at developers who use Subversion on a daily basis.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Ruby: Sort an array of objects by an attribute</title>
      <link>https://www.devroom.io/2007/01/28/ruby-sort-an-array-of-objects-by-an-attribute/</link>
      <pubDate>Sun, 28 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/28/ruby-sort-an-array-of-objects-by-an-attribute/</guid>
      <description>In this example I&amp;rsquo;ll show you how easy it is to sort an array of (the same kind of) objects by an attribute. Let&amp;rsquo;s say you have an array of User objects that have the attributes &amp;rsquo;name&amp;rsquo; and &amp;rsquo;login_count&amp;rsquo;. First, find all users.
1@users = User.find(:all) Now, we have to sort this array by &amp;rsquo;name&amp;rsquo;. Since we don&amp;rsquo;t know if any user used capitals in his name or not, we use &amp;lsquo;downcase&amp;rsquo; to sort without case sensitivity.</description>
    </item>
    
    <item>
      <title>New in Rails: Resource Scaffold Generator</title>
      <link>https://www.devroom.io/2007/01/23/new-in-rails-resource-scaffold-generator/</link>
      <pubDate>Tue, 23 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/23/new-in-rails-resource-scaffold-generator/</guid>
      <description>&lt;p&gt;Oh boy! Rails 1.2 is all about resources. A product entry in your application is not just a rendered HTML page, but it &amp;ldquo;is&amp;rdquo; data. Rails 1.2 allows you to add a .xml extension to your url to retrieve the same product information in XML format!&lt;/p&gt;
&lt;p&gt;Now, this all sounds hard. Two ways of rendering the same action depending on an extension. Generating XML code for every model in your database. No way you want to spend time developing all that stuff.&lt;/p&gt;
&lt;p&gt;Well, Rails wouldn&amp;rsquo;t be Rails if there weren&amp;rsquo;t a generator for it!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Rails: Nested resource scaffold</title>
      <link>https://www.devroom.io/2007/01/23/rails-nested-resource-scaffold/</link>
      <pubDate>Tue, 23 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/23/rails-nested-resource-scaffold/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;http://ariejan.net/2007/01/23/new-in-rails-resource-scaffold-generator/&#34;&gt;previous post&lt;/a&gt; I told you about the resource scaffold. What you&amp;rsquo;ll be doing a lot is nesting these resources. Ingredients in recipes, comments on posts, options for products. You name it, you nest it!&lt;/p&gt;
&lt;p&gt;Since Rails does not automatically nest resources for you, you should do this yourself. This is, with some minor tweaks, really easy to accomplish. In this example I&amp;rsquo;ll create recipes that have multiple ingredients.&lt;/p&gt;
&lt;p&gt;I assume you have Rails 1.2.1 installed for this tutorial to work properly.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Updates: Wordpress 2.1, Themes and Social</title>
      <link>https://www.devroom.io/2007/01/23/updates-wordpress-21-themes-and-social/</link>
      <pubDate>Tue, 23 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/23/updates-wordpress-21-themes-and-social/</guid>
      <description>&lt;p&gt;You can&amp;rsquo;t really see it, but Ariejan.net has been upgraded to &lt;a href=&#34;http://wordpress.org&#34;&gt;Wordpress 2.1&lt;/a&gt;. I&amp;rsquo;ve been running 2.1 beta&amp;rsquo;s on a private server for some time now, so there weren&amp;rsquo;t any surprises during the upgrade.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve also updated the theme to something more stylish and sober. Google Ads are less annoying now and merge nicely with the content. I&amp;rsquo;ve also re-enabled the social bookmark links so you can quickly bookmark articles on Del.icio.us or Digg.&lt;/p&gt;
&lt;p&gt;Hope you like the new style. Some minor tweaks will be applied the following days where needed. Please let me know your thoughts on ariejan.net!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>“Print this page” with Ruby on Rails</title>
      <link>https://www.devroom.io/2007/01/19/print-this-page-with-ruby-on-rails/</link>
      <pubDate>Fri, 19 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/19/print-this-page-with-ruby-on-rails/</guid>
      <description>&lt;p&gt;You have put a lot of effort into creating a sexy overview of whatever data your application stores and allow your users to manipulate that data through AJAX controls. But, some people just want to print their data.&lt;/p&gt;
&lt;p&gt;How to go about that? Just printing the page with data is generally not a good idea because it has been optimized for display on a screen. The first step we need to take is adapting our page for printing. Stylesheets are very handy tools for this. Check the following part of the header of my layout:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Why Ruby Rocks - Convince your fellow developers</title>
      <link>https://www.devroom.io/2007/01/19/why-ruby-rocks-convince-your-fellow-developers/</link>
      <pubDate>Fri, 19 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/19/why-ruby-rocks-convince-your-fellow-developers/</guid>
      <description>I often hear questions from my Java and PHP oriented friends about what makes Ruby so great and easy to use. Until today I&amp;rsquo;ve shown them some of my Rails feats (AJAX Scaffold always amazes people). Now, I came across this 20 minute Ruby introduction. Starting with the basic &amp;ldquo;Hello World&amp;rdquo; item, this article show step by step improvements to end up with blocks, objects and all that makes Ruby really worth while.</description>
    </item>
    
    <item>
      <title>Rails: Group results by week (using group_by)</title>
      <link>https://www.devroom.io/2007/01/12/rails-group-results-by-week-using-group_by/</link>
      <pubDate>Fri, 12 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2007/01/12/rails-group-results-by-week-using-group_by/</guid>
      <description>The Enumerable class in Rails contains a method named &amp;lsquo;group_by&amp;rsquo;. This method is pure magic for a developer&amp;rsquo;s point of view. I&amp;rsquo;ll give you a simple example that shows the power of group_by.
Let&amp;rsquo;s say you have a table &amp;lsquo;posts&amp;rsquo; containing blog posts. Now, you normally show these chronologically a few at a time. Nothing special there. For some special overview page, you want to group your posts by week.</description>
    </item>
    
    <item>
      <title>Textmate&#43;Rails: Easy partials for better code</title>
      <link>https://www.devroom.io/2006/12/22/textmaterails-easy-partials-for-better-code/</link>
      <pubDate>Fri, 22 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/22/textmaterails-easy-partials-for-better-code/</guid>
      <description>&lt;p&gt;As you may know, I use &lt;a href=&#34;http://macromates.com/&#34;&gt;TextMate&lt;/a&gt; for editing Rails code.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve just been browsing the Rails bundle today and I came across some very interesting things. Today I&amp;rsquo;ll tell you about partials.&lt;/p&gt;
&lt;p&gt;Partials are ERb templates. They are mostly HTML (or RJS or XML or whatever output format you use) and include some embedded Ruby to show actual content. Partials are not linked to a method in a controller, but instead they can be easily rendered through-out your application.&lt;/p&gt;
&lt;p&gt;TextMate allows you to refactor your application to use partials with almost no effort!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>SVN: How often should you commit?</title>
      <link>https://www.devroom.io/2006/12/20/svn-how-often-should-you-commit/</link>
      <pubDate>Wed, 20 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/20/svn-how-often-should-you-commit/</guid>
      <description>&lt;p&gt;I often hear discussion about how often developers should commit their work to the central repository. Some say that you should only commit when you&amp;rsquo;re next &amp;lsquo;release&amp;rsquo; is ready. Others say that you should commit every change you make in your code. There are even people who say you should commit your changes only at the end of the day.&lt;/p&gt;
&lt;p&gt;All wrong! There is no such thing as &amp;rsquo;the way&amp;rsquo;, but there is a thing called best practice and that&amp;rsquo;s what I want to talk to you about. How often and what should you commit to your Subversion repository.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>SVN: Merge a branch with your trunk</title>
      <link>https://www.devroom.io/2006/12/20/svn-merge-a-branch-with-your-trunk/</link>
      <pubDate>Wed, 20 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/20/svn-merge-a-branch-with-your-trunk/</guid>
      <description>When created a TRY-branch a few days back to try some fancy new AJAX technology in my application. Not problems there, so now I want to merge the code in the branch with my trunk.
Since I&amp;rsquo;m a lone hacker, the trunk has not been touched since I created the branch. I have a checked-out working copy of the branch available.
Here&amp;rsquo;s a handy-dandy guide on how to merge your branch code with your trunk.</description>
    </item>
    
    <item>
      <title>Show the current SVN revision in your Rails app</title>
      <link>https://www.devroom.io/2006/12/13/show-the-current-svn-revision-in-your-rails-app/</link>
      <pubDate>Wed, 13 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/13/show-the-current-svn-revision-in-your-rails-app/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m current developing a Rails application. I deploy this application to a demonstration server using &lt;a href=&#34;http://manuals.rubyonrails.com/read/book/17&#34;&gt;capistrano&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To streamline feedback and bug reporting I want to show the current revision number of the code that&amp;rsquo;s published on the demo server to show in the footer of every page.&lt;/p&gt;
&lt;p&gt;First I looked into Subversion keyword expansion, but this is marked as &amp;rsquo;evil&amp;rsquo; and it doesn&amp;rsquo;t meet my requirements. I want to show the latest revision number of the entire repository and not just that of the current file.&lt;/p&gt;
&lt;p&gt;Luckily for me, I use capistrano. Here&amp;rsquo;s how I fixed the problem.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Install ruby-mysql on Mac OS X 10.4 Tiger</title>
      <link>https://www.devroom.io/2006/12/06/install-ruby-mysql-on-mac-os-x-104-tiger/</link>
      <pubDate>Wed, 06 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/06/install-ruby-mysql-on-mac-os-x-104-tiger/</guid>
      <description>&lt;p&gt;You probably know that the built-in mysql code in Rails sucks. To rephrase that, the ruby-mysql gem contains better code, so you want that. Rails automatically detects if you have ruby-mysql installed or not, and uses it if you have it.&lt;/p&gt;
&lt;p&gt;Most notably, you want to install this gem if you get dropped MySQL connections running your Rails application.&lt;/p&gt;
&lt;p&gt;So we do:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;$ sudo gem install mysql
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;ERROR: Failed to build gem native extension.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Normall this would install fine, but not on Mac OS X. This is because Mac OS X keeps its code, headers and libraries in odd places (compared to Linux). But don&amp;rsquo;t panic. There&amp;rsquo;s an easy solution to all this!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Installing Rails on Ubuntu Dapper / Edgy</title>
      <link>https://www.devroom.io/2006/12/03/installing-rails-on-ubuntu-dapper-edgy/</link>
      <pubDate>Sun, 03 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/03/installing-rails-on-ubuntu-dapper-edgy/</guid>
      <description>Update 2010-03-25: Bumped to RubyGems version 1.3.6.
Update 2009-02-19: Bumped to RubyGems version 1.3.1 and MySQL 5 libraries. This guide now works for all recent version of Ubuntu and Debian. Enjoy!
Installing Ruby on Rails on your Ubuntu box is not always as easy as it seems. Here&amp;rsquo;s a comprehensive overview of the steps you need to take. Mostly you&amp;rsquo;ll be using apt-get and gems, so it&amp;rsquo;s not all that hard after all.</description>
    </item>
    
    <item>
      <title>How to setup a Ubuntu development server - Part 2</title>
      <link>https://www.devroom.io/2006/12/02/how-to-setup-a-ubuntu-development-server-part-2/</link>
      <pubDate>Sat, 02 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/02/how-to-setup-a-ubuntu-development-server-part-2/</guid>
      <description>Also read Part 1 - Subversion.
In this part I will tell you how to install Trac on top of your Subversion repositories on your Ubuntu development server. Trac offers you a wiki, roadmap, tickets (tracking system) and access to your SubVersion repository. All of this is bundeled in a very sexy web interface.
Well, let&amp;rsquo;s get to work now and get Trac installed. When you&amp;rsquo;re done you will have trac available for all your Subversion repositories.</description>
    </item>
    
    <item>
      <title>How to setup a Ubuntu development server - Part 1</title>
      <link>https://www.devroom.io/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/</link>
      <pubDate>Fri, 01 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/</guid>
      <description>Since I&amp;rsquo;m starting some real work on my final school project, I want to install a Ubuntu development server here at home. I have a Pentium 4 box here that will perform that task.
In this first part I will show you how to install Subversion over WebDAV. All of this will be done in such a way that it&amp;rsquo;s easy to serve multiple projects at once.
In future parts I will tell you more about installing Trac, FastCGI (with Apache) to host Rails applications and how to use Capistrano to deploy your app properly.</description>
    </item>
    
    <item>
      <title>Rails: Security Check-up</title>
      <link>https://www.devroom.io/2006/11/30/rails-security-check-up/</link>
      <pubDate>Thu, 30 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/30/rails-security-check-up/</guid>
      <description>Is your Rails app secure? Really? Maybe you need to perform a major check-up of your Rails application to make sure.
Here&amp;rsquo;s a comprehensive list that will take you through the most common mistakes and forgotten security risks in your Rails application.
It&amp;rsquo;s a great post. Print it, hang it on your wall and create secure Rails apps from now on.</description>
    </item>
    
    <item>
      <title>The Three Corner Stones of Developerhood</title>
      <link>https://www.devroom.io/2006/11/25/the-three-corner-stones-of-developerhood/</link>
      <pubDate>Sat, 25 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/25/the-three-corner-stones-of-developerhood/</guid>
      <description>As a developer, there are just some things you can&amp;rsquo;t do without. I have found that there are three things that I need. Really need. If one of them is missing, I have trouble doing my job properly.
I call them &amp;ldquo;The Three Corner stones of Developerhood&amp;rdquo;: ~
1. Coffee Most importantly coffee. I just can&amp;rsquo;t do without it. I don&amp;rsquo;t drink it to stay awake or anything, but it&amp;rsquo;s just a warm beverage that keeps me focused and gives me the energy I need to keep working.</description>
    </item>
    
    <item>
      <title>SVN: How to structure your repository</title>
      <link>https://www.devroom.io/2006/11/24/svn-how-to-structure-your-repository/</link>
      <pubDate>Fri, 24 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/24/svn-how-to-structure-your-repository/</guid>
      <description>You are reading an article about Subversion. That&amp;rsquo;s great, because it means you&amp;rsquo;re thinking about the benefits of version control for your project. However, I have long since moved from Subversion to Git. I strongly recommend you read up on my Best Practice - The Git Developmenet Cycle. Git is much faster an flexible than Subversion, go check it out now!
Most people know what Subversion is and that there&amp;rsquo;s something called &amp;ldquo;The Trunk&amp;rdquo; with code in it.</description>
    </item>
    
    <item>
      <title>Google Project Hosting: SourceForge Competitor</title>
      <link>https://www.devroom.io/2006/11/22/google-project-hosting-sourceforge-competitor/</link>
      <pubDate>Wed, 22 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/22/google-project-hosting-sourceforge-competitor/</guid>
      <description>I just found out that Google Code is now offering Project Hosting! It&amp;rsquo;s in the same style as SourceForge, but the Google way!
As a Google user you can create a project with a built-in issue tracker and Subversion repository. And if that&amp;rsquo;s not all, you can tie in a blog (at Blogger.com is you like) and adiscussion group (on Google Groups, of course).
This is really a nice package Google is offering and it looks like a serious competitor for SourceForge.</description>
    </item>
    
    <item>
      <title>SVN: How to fix bugs properly</title>
      <link>https://www.devroom.io/2006/11/22/svn-how-to-fix-bugs-properly/</link>
      <pubDate>Wed, 22 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/22/svn-how-to-fix-bugs-properly/</guid>
      <description>I&amp;rsquo;ve already told you about releasing your project with help from Subversion. Now I want to talk to you about using Subversion to fix bugs in your application.
Fixing bugs can be as easy as fixing a few lines of code or as hard as rewriting a significant portion of your application. Both situations need a different approach from us. Let&amp;rsquo;s talk about the easy stuff first.
For this example let&amp;rsquo;s say we have a project.</description>
    </item>
    
    <item>
      <title>WordPress: Author comment highlighting</title>
      <link>https://www.devroom.io/2006/11/22/wordpress-author-comment-highlighting/</link>
      <pubDate>Wed, 22 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/22/wordpress-author-comment-highlighting/</guid>
      <description>I&amp;rsquo;ve seen it lots of times before, but I just added it to Ariejan.net (and the next release of the iAriejan theme). Sometimes there are lots of comments and it&amp;rsquo;s nice for visitors to see what the official reaction of the blog author is.
Since I haven&amp;rsquo;t really looked into a plugin or anything, this is just a very simple theme hack.
You can apply it to your current theme with almost no effort at all.</description>
    </item>
    
    <item>
      <title>CSE-Tool 1.1.0 Released</title>
      <link>https://www.devroom.io/2006/11/21/cse-tool-110-released/</link>
      <pubDate>Tue, 21 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/21/cse-tool-110-released/</guid>
      <description>Hot of the press! CSE-Tool 1.1.0 has been released just a few minutes ago! Grab the code now or check a live demonstration!
Please report any feature, support or bug requests back at the project&amp;rsquo;s SourceForge page.
Also, if you like CSE-Tool (and want your feature added sooner rather than later) please consider making a small donation to the project to encourage further development and support.
Donations are handled by SourceForge.</description>
    </item>
    
    <item>
      <title>SVN: How to release software properly</title>
      <link>https://www.devroom.io/2006/11/21/svn-how-to-release-software-properly/</link>
      <pubDate>Tue, 21 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/21/svn-how-to-release-software-properly/</guid>
      <description>Many projects use SubVersion nowadays to store their project code. I do this also at work, and for my personal projects like CSE-Tool.
The question, however, is how to release your current code properly to the public. You probably don&amp;rsquo;t want your users to check out your current development code. Either you want them to check out a certain version (release) or you want to present them with a download archive containing the code.</description>
    </item>
    
    <item>
      <title>Announcing CSE-Tool: Deploy you Google CSE with ease</title>
      <link>https://www.devroom.io/2006/11/17/announcing-cse-tool-deploy-you-google-cse-with-ease/</link>
      <pubDate>Fri, 17 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/17/announcing-cse-tool-deploy-you-google-cse-with-ease/</guid>
      <description>This is just a short note to let you know that CSE-Tool 1.0 has been released.
The CSE-Tool allows you to easily (just copy-paste a few items presented to you by Google) deploy your Custom Search Engine. All you need is a CSE (of course) and optionally a Google Analytics account to track who&amp;rsquo;s coming by.
System requirements are pretty low. You&amp;rsquo;ll only need PHP 4.3.x or better. Check out the SourceForge Project Page or jump directly to the downloads section.</description>
    </item>
    
    <item>
      <title>Ubuntu 6.10 Live DVD on the Apple MacBook</title>
      <link>https://www.devroom.io/2006/11/15/ubuntu-610-live-dvd-on-the-apple-macbook/</link>
      <pubDate>Wed, 15 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/15/ubuntu-610-live-dvd-on-the-apple-macbook/</guid>
      <description>Since I teach various Linux courses at Fontys Centrum IT, I want to run a live CD or DVD on my MacBook. First off, here are my specs:
Apple MacBook (White) Intel Core Duo 2.0Ghz 1.0Gb RAM 13.3&#34; 1280x800 TFT 60 Gb Internal Harddisk 300 Gb External FireWire harddisk As my Live medium I chose the Ubuntu Linux 6.10 Live DVD. This DVD has several nice options (install server, for example) that I like.</description>
    </item>
    
    <item>
      <title>CUPS: 426 - Upgrade Required</title>
      <link>https://www.devroom.io/2006/11/13/cups-426-upgrade-required/</link>
      <pubDate>Mon, 13 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/11/13/cups-426-upgrade-required/</guid>
      <description>As I was installing my printer on my Ubuntu 6.06 Dapper LTS server with CUPS I noticed the following error:
426 Upgrade Required
After some research I came to the conclusion that CUPS, by default, tries to use SSL whenever possible. So, with this 426 error, you are redirected to the SSL domain. Chances are, you haven&amp;rsquo;t configured SSL properly, if at all.
In my case, I didn&amp;rsquo;t want to configure SSL.</description>
    </item>
    
    <item>
      <title>WordpressMu: Don’t allow new blogs</title>
      <link>https://www.devroom.io/2006/10/31/wordpressmu-dont-allow-new-blogs/</link>
      <pubDate>Tue, 31 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/31/wordpressmu-dont-allow-new-blogs/</guid>
      <description>If you&amp;rsquo;re using WordpressMu, the blog hosting tool used on Wordpress.com, you may want to disable the creation of blogs by your visitors.
Whatever your reasons for this are, I wanted to prevent this, because I (and my team of editors) want to maintain several blogs on different topics. Users are free to register and post comments, but creating new blogs is reserved for the administrator.
So, how do you implement this in WordpressMu?</description>
    </item>
    
    <item>
      <title>Adsense Resource Inventory</title>
      <link>https://www.devroom.io/2006/10/30/adsense-resource-inventory/</link>
      <pubDate>Mon, 30 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/30/adsense-resource-inventory/</guid>
      <description>In addition to my previous post I have gathered some popular resources from around the web that talk about making money off Google Adsense. I hope this sums up all you need to start making money yourself.
Please, let me know if I missed something.
Things to know about making money with Google Adsense There are three things you need in order to make money off your site or blog.</description>
    </item>
    
    <item>
      <title>Cheat sheets? Look here!</title>
      <link>https://www.devroom.io/2006/10/30/cheat-sheets-look-here/</link>
      <pubDate>Mon, 30 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/30/cheat-sheets-look-here/</guid>
      <description>&lt;p&gt;Getting confused of all the tools you use on a daily basis? Don&amp;rsquo;t remember all the exact method names and possibilities of SubVersion, Apache, HTML, CSS, MySQL, Ruby on Rails, CVS, AJAX, JavaScript,  FireFox, Google, etc. etc.? There is a solution! Cheat sheets make your daily work easier by providing you all you need to know on a single paper!&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a &lt;a href=&#34;http://www.smashingmagazine.com/2006/10/30/cheat-sheet-round-up-ajax-css-latex-ruby/&#34;&gt;very comprehensive list&lt;/a&gt; of cheat sheets.&lt;/p&gt;
&lt;p&gt;Cheat sheets are simple put a collection of all important (if not just all) functions and methods you can use for a given product, framework or language. They&amp;rsquo;re great to have on your desk if you just can&amp;rsquo;t quite remember what function to use. Check &amp;rsquo;em out, print &amp;rsquo;em out and start loving &amp;rsquo;em!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Confused about CSS Columns?</title>
      <link>https://www.devroom.io/2006/10/30/confused-about-css-columns/</link>
      <pubDate>Mon, 30 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/30/confused-about-css-columns/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m mainly confused on how to make different layouts with pure CSS. Back in the time when tables were okay, it was rather easy. But with CSS it&amp;rsquo;s gotten rather tricky.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.dynamicdrive.com/style/layouts/&#34;&gt;Dynamic Drive&lt;/a&gt; has some great examples (with CSS code!) of different kinds of layouts. It&amp;rsquo;s great to use as a starting point for your design!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How does your site look on …?</title>
      <link>https://www.devroom.io/2006/10/30/how-does-your-site-look-on/</link>
      <pubDate>Mon, 30 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/30/how-does-your-site-look-on/</guid>
      <description>When designing a web site you always check how the site looks in different browsers, even maybe at different resolutions. But how many browsers do you really use? Firefox, Safari when on Mac, Internet Explorer when on Windows and that&amp;rsquo;s mostly it.
Browser Shots allows you to select different browsers and set several options like colour depth, screen resolution, java etc. and make screenshots of your site (by entering the URL).</description>
    </item>
    
    <item>
      <title>Do your ads pay your (blogging) bills?</title>
      <link>https://www.devroom.io/2006/10/29/do-your-ads-pay-your-blogging-bills/</link>
      <pubDate>Sun, 29 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/29/do-your-ads-pay-your-blogging-bills/</guid>
      <description>I&amp;rsquo;ve read many articles on earning money with Google&amp;rsquo;s AdSense. Some guru&amp;rsquo;s claim to recieve five figure checks from Google every month.
The trick with these people is that they have a lot of content. More content, means more visitors, which means more clicks and thus more money. The content is written to attract certain keywords which are known earn a lot of money. Of course, professionals don&amp;rsquo;t just have one site, they have several.</description>
    </item>
    
    <item>
      <title>Ruby On Rails for PHP: CakePHP</title>
      <link>https://www.devroom.io/2006/10/23/ruby-on-rails-for-php-cakephp/</link>
      <pubDate>Mon, 23 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/23/ruby-on-rails-for-php-cakephp/</guid>
      <description>The framework has been around for some time, but I found out about it a few days ago: CakePHP.
I&amp;rsquo;ve been using Ruby on Rails for quite some time now. It&amp;rsquo;s a very cool framework and it&amp;rsquo;s fun to work with. However, there&amp;rsquo;s one big problem I have with it: I can&amp;rsquo;t host it anywhere!
Well, there are several hosting companies that offer Rails hosting, but the price is pretty steep when compared to my current hosting plan.</description>
    </item>
    
    <item>
      <title>Having fun with SPAM!</title>
      <link>https://www.devroom.io/2006/10/13/having-fun-with-spam/</link>
      <pubDate>Fri, 13 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/13/having-fun-with-spam/</guid>
      <description>I was just wading through my SPAM at Gmail to see if it flagged anything important. Then I came across this message:
Is your website www.gmail.com offline, or why can&amp;rsquo;t I find it on Yahoo?
Your website (www.gmail.com) on top positions on Google, Yahoo and MSN search! We will get your website (www.gmail.com) to the top positions on all major search engines. Use our great value offer: We will submit your website (www.</description>
    </item>
    
    <item>
      <title>Migrate SQLite3 to MySQL easily</title>
      <link>https://www.devroom.io/2006/10/13/migrate-sqlite3-to-mysql-easily/</link>
      <pubDate>Fri, 13 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/13/migrate-sqlite3-to-mysql-easily/</guid>
      <description>I&amp;rsquo;ve been using a simple Rails application locally with a SQlite 3 database for some time. Now I want to move to another host and use MySQL instead. But guess what? You can&amp;rsquo;t just migrate your data!
Here are some easy steps on how to migrate your data to MySQL. First of all you need to dump your SQLite3 database. This includes transaction statements and create commands. That&amp;rsquo;s fine. Since we also migrate the schema information, our RoR app will not know any difference after we change config/database.</description>
    </item>
    
    <item>
      <title>Tagging in ajax_scaffold</title>
      <link>https://www.devroom.io/2006/10/13/tagging-in-ajax_scaffold/</link>
      <pubDate>Fri, 13 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/13/tagging-in-ajax_scaffold/</guid>
      <description>I&amp;rsquo;ve been using the Ajax Scaffold for quite some time now. It&amp;rsquo;s a great piece of software by Mr. Richard White for Ruby on Rails. It seems that the plugin version of AS is getting quite a bit more attention than the generator. I started out with the generator but quickly reverted to the plugin since it&amp;rsquo;s way more flexible and easier to use.
Since I wanted to create a quick app to inventory my CD/DVD collection (which is now in a very sexy alu DJ case) I used Ajax Scaffold to get me started.</description>
    </item>
    
    <item>
      <title>Easily create a FavIcon online!</title>
      <link>https://www.devroom.io/2006/10/10/easily-create-a-favicon-online/</link>
      <pubDate>Tue, 10 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/10/easily-create-a-favicon-online/</guid>
      <description>&lt;p&gt;You know those little icons you see in your browsers address bar? Yes, the ones in you bookmarks! Well, you want such an icon for your site?&lt;/p&gt;
&lt;p&gt;These icons are called FavIcons, short for Favourites Icon. Most modern browsers make use of them.&lt;/p&gt;
&lt;p&gt;To create such an icon you&amp;rsquo;ll need some image first. Normally the process would be rather difficult involving several graphics manipulation programs and conversions. Don&amp;rsquo;t fall for that! Use the followin &lt;a href=&#34;http://www.chami.com/html-kit/services/favicon/&#34;&gt;FavIcon from Pics&lt;/a&gt; site!&lt;/p&gt;
&lt;p&gt;Just upload a gif, jpeg or png image (with transparency if you like) and get a FavIcon for free! There are also some other goodies included!&lt;/p&gt;
&lt;p&gt;Of course, there&amp;rsquo;s information available on how to upload your FavIcon and how to let your browser know about it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Generate a SQlite-based Rails app</title>
      <link>https://www.devroom.io/2006/10/10/generate-a-sqlite-based-rails-app/</link>
      <pubDate>Tue, 10 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/10/generate-a-sqlite-based-rails-app/</guid>
      <description>&lt;p&gt;When you create a Rails application a database.yml files is included with some default configuration for your database. Unfortunately these are defaults for MySQL. If you want to use another database, like SQlite, you&amp;rsquo;d have to rewrite the entire configuration file. And that&amp;rsquo;s not what you want!&lt;/p&gt;
&lt;p&gt;Luckily, rails is very adapative and we can make it do all the work for us.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hi-Res Wallpapers for your MacBook!</title>
      <link>https://www.devroom.io/2006/10/10/hi-res-wallpapers-for-you-macbook/</link>
      <pubDate>Tue, 10 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/10/hi-res-wallpapers-for-you-macbook/</guid>
      <description>&lt;p&gt;For all of you who have a flashy Apple MacBook (or any other device with a 1280x800 resolution) here&amp;rsquo;s a nice site with lot&amp;rsquo;s of hi-res wallpapers. Of course, they&amp;rsquo;re all for free!&lt;/p&gt;
&lt;p&gt;Oh, they have other sizes as well.&lt;/p&gt;
&lt;p&gt;Go check out &lt;a href=&#34;http://interfacelift.com/wallpaper/index.php?sort=downloads&amp;w=1280&amp;h=800&#34;&gt;InterfaceLIFT&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Top 5 DVDs you must have</title>
      <link>https://www.devroom.io/2006/10/10/top-5-dvds-you-must-have/</link>
      <pubDate>Tue, 10 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/10/top-5-dvds-you-must-have/</guid>
      <description>&lt;p&gt;Everybody at this point in time at least owns one or more DVD - Digital Versatile Disk - Videos. Some people try to collect as many DVD&amp;rsquo;s as possible, others just buy the ones they like (or can afford).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not sure how many DVD&amp;rsquo;s I have at this time, but there are quite a few DVD&amp;rsquo;s that you just have to have in your collection.&lt;/p&gt;
&lt;p&gt;If you feel wronged because your favourite movie is not listed, feel free to add a comment stating your favourites. (Oh, let me know why it&amp;rsquo;s such a great movie too!)&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Welcome to Ariejan.net</title>
      <link>https://www.devroom.io/2006/10/09/welcome-to-ariejannet/</link>
      <pubDate>Mon, 09 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>https://www.devroom.io/2006/10/09/welcome-to-ariejannet/</guid>
      <description>&lt;p&gt;Well, it has happened to me. Although I make regular backups of my site, this time I was screwed!&lt;/p&gt;
&lt;p&gt;Since I&amp;rsquo;m very interested in &lt;a href=&#34;http://rubyonrails.com&#34;&gt;Ruby on Rails&lt;/a&gt;, I gave a RoR weblog, &lt;a href=&#34;http://typosphere.org/&#34;&gt;TypoSphere&lt;/a&gt;, a try. I exported my entire &lt;a href=&#34;http://www.wordpress.org&#34;&gt;Wordpress&lt;/a&gt; blog to typo and I was a happy man. Until disaster struck&amp;hellip;&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>