Wednesday, December 31, 2008

A RESTful Break

This holiday break I've been reading through Practical REST on Rails 2, which serves as an introduction to the RESTful philosophy of system design. I've written up a overview here.

Overall it has been a very eye-opening read, both for the Rails framework and Web 2.0 in general. Since Rails is built on the principles of REST I think an introduction to the philosophy is crucial to new Rails developers.

Thursday, December 18, 2008

Nikola Tesla

Wireless Telegraphy and Telephony Popularly Explained By Walter Wentworth Massie, Charles Reginald Underhill, Nikola Tesla: "A mass in movement resists change of direction. So does the world oppose a new idea. It takes time to wake up the minds to its value and importance. Ignorance, prejudice and inertia of the old retard its early progress. It is discredited by insincere exponents and selfish exploiters. It is attacked and condemned by its enemies. Eventually, though, all barriers are thrown down and it spreads like fire."

The above quote was given by Tesla in 1909, though I feel it is timeless. Google Books has papers and patents written by Tesla, the greatest electrical engineer of all time.

Wednesday, December 17, 2008

The Joel Test

12 questions to ask a prospective employer.

Basic Atom Reader

Tonight I was able to get a basic atom reader going. The major issue that held me up was importing atom libraries in the header:

require 'rss/atom'

Also, Atom and RSS (being a different standards) are parsed differently. Luckily they contain the same basic information that I'm after: title, link, "post date" (updated tag under Atom).

Tuesday, December 16, 2008

Basic RSS Reader

Tonight I implemented a very basic RSS parser, which was cobbled together using RSS::Parser functionality. Currently I can read a feed and commit all items in that feed to my db. Downhill from here, right?

Saturday, December 13, 2008

Hot tip

Stored here so I don't forget it.

The underscore (_) stores the last output in the irb/RoR console.

....Is this a sign

That I should give up on Rails?

My sqlite adapter was overquoting table names, meaning existing tables were not found. This made migrations difficult. Found a solution here. To summarize:

ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb

Replace

returning structure = @connection.table_info(quote_table_name(table_name)) do

with:

returning structure = @connection.table_info(table_name) do

More 1.3.1 fun

The issue: update to rubygems 1.3.1 and all gem commands fail to run, outputting "The filename, directory name, or volume label syntax is incorrect."

The solution: remove two erroneous quotations inside gem.bat. There is a bug when updating to 1.3.1 on a machine with the non-default Ruby directory (C:\Ruby is default, mine is C:\Program Files\Ruby).

1.3.0 RubyGems update

Requires a different approach.

Thursday, December 11, 2008

Twerking

Did some design and research on the outblogger idea. Mostly learning about RSS standards....

I found two options for importing an external RSS feed using Ruby:

My favored solution:
RSS::Parser

An additional gem:
feedtools

Wednesday, December 10, 2008

Out Bloggering Blogger

Tonight I had a discussion with a number of people in a project group. We would like to start blogging to keep track of problems solved, ideas, etc. Everyone will have an individual blog and we would also share an overarching blog.

What is the best way to do this? The current, simple option is to each create an individual blog (wordpress, blogger, etc.) and link to each other's blogs. This is incredibly static and un-interactive.

I want to use Rails to create a more interesting front-page to OUR blogs. Blog post of the week, most read articles, most commented on, yadda yadda. COMMENCE BRAINSTORMING AND DESIGN.

Ventrilo

Set up Vent on my private server. Super simple to do, just a matter of installing the server exec and tweaking the .ini file before running.

Now WoW is infinitely more enjoyable.