15 Dec, 2007
If you want to distribute your Ruby applications while still protecting your intellectual property you could use an obfuscation tools such as ZenObfuscate or try to write your own. But in this article, I’m going to show a different approach that’s been used by several different companies producing commercial products written in Ruby. The method is not specific to Ruby and should work for any interpreted language in which you need to distribute your source code with the application.
The secret is to encrypt your Ruby source, store it in a database and then modify the Ruby interpreter to look for your code in the database and decrypt it on the fly. I should note that there is no way to completely protect a product which is distributed to your customers–with enough diligence any security measures can be broken.
These instructions are for Unix operating systems (include MacOS X). Unfortunately (or fortunately, for me), I don’t own a Windows machine.
Read the rest of this entry »
5 Dec, 2007
Back in July I attended the Advanced Ruby Studio in Reston, VA. At the time I had wanted to blog about it but my life suddenly became extremely busy and I left my blog to languish for several months. To rectify that, I’ve decided to write up this post providing an overview of the studio and my impressions.
The instructors for the three day course were Dave Thomas and Chad Fowler, two elite Ruby programmers (and excellent teachers). While I wouldn’t consider every topic covered during the course advanced, I will say that there was a good mix of intermediate and advanced content (and some of the advanced stuff was really advanced!)
Read the rest of this entry »
22 Jul, 2007
This past Wednesday we held the July Northern VA Ruby Users Group. We started off with two short talks, first by Patrick Reagan on two mocking libraries for Ruby (Flexmock and Mocha), the second was on Haml and Sass by Devin Mullins. For the final hour of the meeting, Matt Scilipoti spoke about using Rails with legacy databases.
Read the rest of this entry »
1 May, 2007
Based on a comment from an alert reader, I found out that the link was broken in my Ajax Spy in Rails post. Since I couldn’t locate the original zip file on my powerbook, I rewrote it from scratch using Rails 1.2.3 with REST/CRUD and then updated the link at the end of that post.
To save you time, you can download the source from here as well.
This (and the prior) version simply uses a timer to periodically call back to the server to see if there were any updates, which places an unnecessarily heavy load on your server. A better approach would be to use something like Juggernaut to push updates out to clients. I’m investigating Juggernaut now for use in my Ajax Rails game — I’ll post more once I have a demo.
18 Apr, 2007
Tonight we held the April meeting of the Northern VA RUG. Ray Daly presented RSS and novel uses for it while Paul Stadig discussed various methods of screen scraping.
Ray provided an overview of RSS, examples of widespread usage (news feeds, monitoring, podcasts, etc) and then spoke about how RSS could be used to tie together disparate systems. He wrapped up with a Rails demo showing how to create RSS feeds and a brief discussion of the available libraries for creating and consuming RSS/Atom.
Paul’s presentation on screen scraping started with a discussion of why you’d want to gather data in this way (most of the interesting data lies in the ‘deep web’ where there is no API/RSS to extract the data easily). He then gave an overview, with example code, of N tecniques: POOR (Plain Old Open-URI and RegExps), POOH (Plain Old Open-URI and Hpricot),WWW::Mechanize, scRUBYt, WATIR and FireWatir, and scrAPI. Of the examples shown, Hpricot looks like an excellent HTML parser (though it does require native code) while scRUBYt and scrAPI seem to have the most promise for making screen scraping easy to do. His slides are here.
The May NoVA RUG will be held on May 23 as the prior week is RailsConf.
21 Mar, 2007
Tonight we had the March meeting of the Northern VA Ruby Users Group. First up was Douglas Sellers who talked about Selenium and Selenium on Rails. After a short break, I spoke about RESTful Rails (focusing on CRUD, REST and ActiveResource).
Read the rest of this entry »