no such file to load — libxml_so
“no such file to load — libxml_so” is the lovely error message I got when I upgraded/installed 0.5.3 version of libxml-ruby using gem. Now that I only use Leopard, I’m not sure if this applies to Tiger. My guess is that this is Leopard issue. The solution to this problem is relatively quick. I just removed 0.5.3 version and went back to older version.
sudo gem uninstall libxml-ruby -v 0.5.3
You’ll also have this problem on Ubuntu if you installed Ruby by compiling it yourself. It’s pain in the ass, but you can go through the code and install the components yourself. Let me know if anyone wants the steps.
By the way, libxml is about 100 times faster than REXML that comes with Ruby. If you don’t believe me, try it for yourself. I didn’t believe it either, but I was SHOCKED when I saw how much faster it was.
Linux + Firefox = #1 at RubyHead
While testing out Google Analytics and new Adobe AIR application, I found out that Firefox on Linux is now #1 OS and browser combo for those visiting this site. I’m extremely happy that Linux is gaining momentum. This means that people are breaking free from proprietary software and leaving the technology prison built by Microsoft.
It’s only been few weeks since I became Microsoft-free, and I’m somewhat shocked that I don’t notice anything different. In fact, I don’t even boot my VM anymore (not personally - I have to test webapps on Explorer at work). I became extremely comfortable with NeoOffice now that I got that stupid program to work, and haven’t found a need to open Microsoft Office.
Hosting Rails Apps On My Home Servers
When I heard that Markus Frind of plentyoffish.com actually started hosting his website from home, I thought it would be interesting to post my recipe for hosting websites and Rails apps from home servers. However, it’s not as easy just plugging it in. There are interesting constraints I have to overcome, and I expect that others are having the same problem.
Problems
Although I have plenty of bandwidth from my FiOS, any incoming traffic to port 80 and 8080 are blocked by Verizon. I found this to be true when I had both DSL and cable modem. What this means is that the only way for the visitors to view my site, it has to point to some obscure port. I just don’t think this will work.
Another issue is that my IP address is from DHCP. Although it hasn’t changed since I got it, you never know. I also don’t want to pay more for a fixed IP address and certainly don’t want to be a subject to the interrogation of “why do you need a static IP?” from Verizon.
My Recipe
As you can see by the diagram, I got a basic VPS that functions as the proxy and a stripped down load balancer. You can get a cheap VPS for as little as $9.99 per month. Since it’s not doing much, you don’t need cPanel/Plesk or any other software, just Apache or my favorite, nginx.

Next thing I have is a dynamic DNS provider such as dyndns.org. The host name specified here will be the address of my home server. This solves the issue with changing IP address. My server also updates the IP address by running a small daemon.
The Apache server running on the VPS, which comes with a static IP address and the access to port 80, sends the request from client to my server at home using obscure port. My home server sends the response back and the user can’t tell the difference. You can also host many sites this way. Below is a bit of sample configuration on Apache:
Apache config:
<Proxy balancer://cluster_name>
BalancerMember http://home_server_address:8000
BalancerMember http://home_server_address:8001
</Proxy>
Virtual directive:
ProxyPass / balancer://cluster_name/ ProxyPassReverse / balancer://cluster_name/
Discussion
If you’d like to get more details or have questions, just send me an email at my name at this domain.
Waves, Yet Another Web Framework for Ruby
Waves is another web framework for Ruby and it just went beta, which means that it’s not done or it’s really crappy that the developers are not admitting that it’s done.
My question is, do we need another web framework when we already have Rails and Merb? What would be a compelling reason to use Waves instead of Rails or Merb? If you want to find out, they have a screencast. Give them a look at http://rubywaves.com.
Please let me know what’s nice about it since I won’t have the time to look at it. I’ve been too busy looking at Rubinius code lately to give any attention to this.
Yeah! Going to RailsConf 2008!
My lovely wife is letting me take a mini-vacation by myself by letting me go to this year’s RailsConf. This is my first conference where I’m not speaking and don’t have to attend million meetings. It’s also not sponsored by anyone other than myself. Yes, I lost my mind.
If you want to see me there, just look for a dorky looking Korean dude with RubyHead.com shirt. I’ll set up a page where you can win this shirt.
I’m so happy that I work on Ruby and Rails. Don’t get me wrong, I was extremely passionate about what I did before as it allows me to do whatever I want now, but it’s just a pure joy at this point in my life. At some point, I will go back to being a CTO or CEO, but I need a break.