— Dinner, February 23
Author: Melih O.
Chronicling My Visualizaton Project – Start with an error
It seems that you can’t claim that a project has started until there is a bug of some sort that has nothing to do with any code that you have written. In fact, it’s a bug in you setting up your system, which often tends to convince folks that the stars are lined against them, and they should just quit. Don’t quit. Just be patient, and you’ll find the way.
I will be building the visualization that I created for the MovieLens Recommendation System as my project in Visualization. It is probably the most awesome thing that I’ve planned on doing in a long, long time. To do the visualization, I will be taking advantage of an IMDB API written in Ruby by a one Stephen Becker IV. I need the API to pull out information from IMDB that isn’t available in the data that we are given in the text file.
And so today I am setting up the environment as a proof-of-concept, and I immediately run into a problem. Others seem to have had this problem, and seem to have solved it by waving their hands in the air and changing the magnetic field around themselves by just enough to switch the necessary bits on their hard drive. Unfortunately, I was never very good at waving my hand in the air like I just don’t care.
The problem was that an included extension wasn’t building properly, and therefore when it was called it was puking the following output:
monvural$ ruby imdb.rb
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require': no such file to load -- hpricot_scan (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/hpricot-0.6-jruby/lib/hpricot.rb:20
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require' from imdb.rb:12
I thought to myself, “Well damn, there’s no way I’ll figure this out.” The solution however was quite trivial. Props must go to the blog aki note that had the answer written in Japanese. I used my amazing powers of reading the English characters to solve the issue at hand. The following steps will fix the error:
cd /usr/local/lib/ruby/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan/
sudo ruby extconf.rb
make
sudo make install
The result was a working program! The first major obstacle tackled, I can now get the information that I want from IMDB. Now I need to learn how to efficiently use Java3D.
Software Engineer for Hire
Here is my cover letter to the world:
==========
You’re probably familiar with the kid who sits in class and makes comments like, “Java isn’t a real programming language, you can’t overload operators.”
Well that isn’t me.
You’re probably also familiar with the kid who answers all of the easy questions to make it look like they really know what they’re talking about, and then needs to sit in the TAs office to finish up simple programming assignments.
That’s not me either.
I’m the guy who finishes the mundane stuff early on so that I have more time to fiddle with my own projects. I have 3 or 4 start up ideas drawn on paper, and I’ve actually started building some of them, but what I’ve discovered is there’s really something lacking if you don’t have a group of like-minded individuals to share ideas and to tell you that something you’re doing is stupid or awesome equally. I think I’m searching for an environment like the one that you have created because I’m ready to figure out how to revolutionize an industry or an idea. I realize it’s just not something that you can do alone. I’m motivated by the reality that success isn’t random, and that it’s a combination of good people with good ideas. And I think my see it all, touch it all attitude makes me an asset to a small group who needs someone to do it all in the process of starting a revolution.
==========
I’ll be available in July, and my resume can be found here.
Well darn…
And then the whole issue is resolved… All I had to do was wait for Bugzilla 3.0.3 (I installed 3.0.2), and the whole issue with the DBI package would have been resolved. Now isn’t that a stinker.
Cruise for New Year 2008
The family went on a cruise for the New Year, and it was a blast. Check out the photos, and imagine being tossed about at sea in rough weather for 2 days. Before the weather though it was a blast!
Installing DBD::mysql on OS X (10.4.11)
I was trying to get Bugzilla installed to act as my task manager on my local machine. It’s a new project that I’m trying out as part of my New Year’s Resolution of spending two hours everyday on a project of my own choice. It will help me to be organized, and give me an idea of priority over the tasks that I need to complete. It will also work better for me than using iCal or another calendar-based todo system. I’ve tried, they never work.
In the process, since Bugzilla is a Perl based application, I needed to make sure to update my CPAN modules to the appropriate versions necessary for Bugzilla. It was generally smooth sailing until I ran into DBD::mysql. It won’t install naturally from CPAN, and getting it to work from the command line takes a bit of finessing as well. I thought I should write up what I found in case anyone else runs into this problem. This solution is based on Perl 5.8.6, MySQL 5.0.45, and Bugzilla 3.0.2.
First, it turns out that the 5.* binary builds of the MySQL disk image distributed by the the MySQL Foundation for Mac OS X don’t come with shared libraries. Without these libraries, it seems that DBD::mysql won’t play along nicely. To build the shared libraries, you’re going to need the source directory for your version of MySQL, which for 5.0.45 can be found here. A very nice set of instructions for how to properly build these files is found here.
I’m not sure why DBD::Sponge is required, but without this package the tests failed, and make didn’t complete successfully. As a result, you’ll need to go ahead and run the following command to install DBD::Sponge
sudo perl -MCPAN -e “install DBD::Sponge”
At this point the following is assumed
- That you’ve got the MySQL shared libraries built.
- The DBI package is already installed
- That the DBD::Sponge package has also been installed
Go ahead and try to install DBD::mysql using the following command
sudo perl -MCPAN -e “install DBD::mysql”
It will attempt to install, but fail when it’s unable to complete the test steps. Next you’ll need to manually configure the Makefile parameters, and then run the make tools again. If you setup CPAN and MySQL to work with all of the default values, then the following set of commands should work for you. Also, as a note, this script assumes that your database user is root without a password with a database called test in the MySQL system. Otherwise, just change the directories as they are appropriate to your directory structure.
cd ~/.cpan/build/DBD-mysql-4.005-{*}
sudo perl Makefile.PL \
–cflags=”-I/usr/local/mysql/include -Os -arch i386 -fno-common” \
–libs=”-L/usr/local/mysql/lib -lmysqlclient -lz -lm” \
–testuser=root
sudo make
sudo make test
sudo make install
The {*} is a catch-all because I noticed that every time I tried to run DBD::mysql through CPAN it created a new random String that it appended to the end of the directory name. A simple tab at the point where you’ve reached the {*} should be enough.
Run these set of commands in your Terminal application and you should be off and ready to go with the DBD::mysql module on Mac OS X.
Petrino Gets Called Out
“This league is not for everybody,” safety Lawyer Milloy said. “This league is for real men. I think [Petrino] realized he didn’t belong here.”
Is there anything more embarrassing for a grown man than to be told that he isn’t man enough by those over whom he once reigned? Imagine a factory worker at GE showing up and telling Jack Welsh, “You aren’t man enough to run this company.” Just too funny.
23 Years Old
Happy Birthday to me!
The Last Goodnight – “Pictures of You”
Here’s a music video from a band that was recently the iTunes Music Store Song of the Week where they give a free download of an up and coming band. This has been one of the few that I have seen that was quite good.
You will make change for the better
— Lunch, November 15