Import A Project Into Eclipse

When I get someone’s Eclipse project I always ended up recreating the project. Now I won’t need to do that anymore since I learned about the Import feature.

  1. Go to File > Import…
  2. Select Existing Projects into Workspace
  3. Select the root directory of the project
  4. Press Finish and watch Eclipse wonderfully recreate the project.

Implement RSA Authentication Under SSH

To implement RSA authentication under ssh so that the user is not continually asked prompted for a remote-host password when using ssh, scp, or any programs using ssh underneath such as cvs and svn do the following.

  1. Create a public/private RSA key pair. This will be used for RSA authentication. When generating this RSA key pair don’t enter a passphrase otherwise you will always be prompted for it.
    $ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/fkim/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/fkim/.ssh/id_rsa.
    Your public key has been saved in /home/fkim/.ssh/id_rsa.pub.
    The key fingerprint is:
    2a:59:54:3f:82:8f:79:92:1d:39:7b:62:02:68:97:e6 fkim@paltp1235
    
    $ cd .ssh
    $ chmod 400 id_rsa id_rsa.pub
  2. Copy the public RSA key to the remote host.
    $ scp -p ~/.ssh/id_rsa.pub  fkim@betweengo.com:~/
    Password:
    id_rsa.pub                                    100%  396     0.4KB/s   00:00
  3. ssh to the remote host and create an .ssh directory if it does not already exist.
    $ ssh fkim@betweengo.com
    Password:
    [box ~]$ mkdir .ssh
    [box ~]$ chmod 755 .ssh
  4. Append the public RSA key to the list of authorized keys.
    [box ~]$ cat id_rsa.pub >> .ssh/authorized_keys2
    [box ~]$ chmod 644 .ssh/authorized_keys2
  5. Log out and log back in to verify that you no longer need to enter your password.
    $ ssh fkim@betweengo.com
    [box ~]$

Note if this does not work it is sometimes because the ssh client cannot find the id_rsa file. It looks for it normally where it keeps the known hosts file. On most systems this is the default location for where it writes the id_rsa file. On one system I found that it was looking for the id_rsa file in C:\.ssh.

In some cases RSA authentication will not work and you will need to use DSA authentication. This article, SSH Logins Without Providing A Password, gives a good description of how to do this. The instructions are quite similar.

Introduction to Ruby on Rails Presentation

On Tuesday, November 15, 2005 I will be presenting an introduction to Ruby on Rails to the ACM Greater Boston Web Tech Chapter.

The presentation is online. Though it looks like a PowerPoint presentation it’s actually just a single HTML file that is transformed into a PowerPoint-like presentation using CSS and JavaScript provided by Eric Meyer.

Setting up a Windows Ruby on Rails Environment

Ruby

  1. install Ruby using the one click installer
    Note that 1.8.2-15 has a small problem, the Ruby Gems Package Manager shortcut does not work because it is pointing to ruby\bin\gemhelp.cmd which does not exist. To use the Ruby Gems Package Manager open a cmd window and then enter the gems command. Or you can create the gemhelp.cmd file which has only one line in it, cmd /k gem or download it from here.

Ruby on Rails
(see also Getting Started With Rails)

  1. install rails gem (and all its dependencies)
    gem install rails --remote
  2. when doing an upgrade I sometimes had to force it by doing an install of the version I wanted to upgrade to
    gem install --remote --version '0.13.1' rails

Salted Hash Login & Authentication Generator
(see also Salted Login Generator Quick Start)

  1. install salted login generator gem
    gem install --remote salted_login_generator
  2. install localization gem
    gem install --remote localization_generator
  3. Iconv is a library used for charset conversion and required by the Salted Hash Login Generator. Download this iconv package with simple installation instructions, unzip the package, and run the installer.
    C:\tmp\iconv>setup
    Setup has detected Ruby at c:\devel\ruby
    and Windows/System32 at C:\WINDOWS/System32
    Install Iconv there? [yN] y
    cp iconv.so c:\devel\ruby/lib/ruby/1.8/i386-mswin32
    cp iconv.dll C:\WINDOWS/System32
    cp charset.dll C:\WINDOWS/System32
    Installation successful.

    Update, the above iconv package link no longer works. Instead you have to follow the more laborious task of getting iconv.so and installing it in ruby\lib\ruby\1.8\i386-mswin32 and getting iconv.dll and installing it in C:\WINDOWS\System32. More detailed instructions can be found on the iconv in Ruby on Rails page.

RMagick
(see also RMagick Install FAQ)

  1. download latest RMagick Windows gem ZIP archive from http://rubyforge.org/projects/rmagick/
  2. unzip Windows gem archive
  3. go into unzipped directory and do a local gem install
    C:\tmp\RMagick-1.9.1-IM-6.2.3-win32>gem install RMagick-win32-1.9.2-mswin32.gem
  4. run post installer
    C:\tmp\RMagick-1.9.1>postinstall
    RMagick 1.9.2 win32 Post Installation (see enclosed README for license information)
    detecting available fonts, writing to config/type-windows.xml...ok.
    setting MAGICK_CONFIGURE_PATH to 'c:/devel/ruby/lib/ruby/gems/1.8/gems/RMagick-win32-1.9.2-mswin32/config'.
    setting is only for current user.
    Copying 5 dlls to c:/devel/ruby/bin...done.
    all done.

MySQL

  1. install MySQL 4.1 (use the Windows Essential installer)
  2. create tables, for example
    mysql -u fkim -p < zipcodes.sql

phpMyAdmin
Excellent web based MySQL administration tool.

  1. download phpMyAdmin package
  2. unzip package and configure Apache to locate that package
  3. I use phpMyAdmin for administration tasks such as creating users and database

MeetingKoreans.com launched using Ruby on Rails

On Monday, November 7 MeetingKoreans.com was officially launched. This is the first site betweenGo has designed and built from the ground up using Ruby on Rails.

Within 24 hours we have received excellent feedback, had almost 20 users register, and squashed a few bugs. We look forward to seeing MeetingKoreans.com grow in both number of registered users and number of features.

MeetingKoreans.com is hosted on Dreamhost which we highly recommend. The website runs on Apache 1.3 with FastCGI enabled. The source is also hosted on Dreamhost using Subversion.

MeetingKoreans.com uses, in addition to all the standard Rails gems, the Salted Hash Login Generator gem and the RMagick ruby library interface.

Problem connecting to MySQL 4.1 via PHP

After installing MySQL 4.1 I was unable to connect to the MySQL database via PHP. It turns out this was because I set the root password. I tried instructing MySQL to use the old password encryption method by adding these two lines to my.ini but that did not work.

#Use old password encryption method (needed for 4.0 and older clients).
old_passwords

Finally I just uninstalled MySQL 4.1 and reinstalled it without the root password. After doing that everything was fine.

Also I noticed when I uninstalled MySQL 4.0 it did not remove the service. When I installed MySQL 4.1 it complained about the Windows service”MySQL” already being there so I had to install the Windows service “MySQL41”. Then I uninstalled MySQL 4.1 due to the above issue and it removed the “MySQL41” service.

When I installed the second time it thought I was trying to reconfigure the “MySQL” service. I instructed the installer to remove the “MySQL” service. Then I uninstalled and reinstalled a third time and this time I was able to install the Windows service “MySQL41” properly.