perl cygwin

To install cygwin perl you need to first install make, then cpan will work. You may need to also install gcc. I don’t know why these are not installed.  Anyway if you get the message after Make ” — NOT OK” that means that something is not installed.

how to create a text box in html


<OPTION> Bananas
<OPTION> Oranges
<OPTION> Watermelon
<OPTION> Cantaloupe
<OPTION> Strawberries

<default select name=”Fruit”>

Notice the “size =” meaning how much of a drop down you’ll have.

SSH tunnelling

ssh -L means “connections I make ‘into’ this port on my machine, will make their way through this tunnel and into the foreign port on the foreign machine (some other prog running there that [not ssh]).

Creating fixtures that link amongst themselves

Note well that when creating fixtures for RoR testing you CANNOT really link to straight names, within other files, like

(one entry)
id: 3

and another

id: 5
single_internet_file_id: FavoriteMP3Url # uh...this doesn't seem to work
user_blended_cast_id: CoolCast
file_location_and_name: "yoyo.mp3"

where those are names–the names don’t work (just become zeroes, somehow), so…just use (hard coded) numbers.

nil in fixtures

a note:
in test/fixtures, when you write

id: 34
name: "Roger"
number: nil

this actually assigns number as 0! This means that if you test in your model code for “number.blank?” this will now return true, since it is actually zero. The use of nil is truly misleading here, and should be done away with, in my opinion. So you can instead just call
if !user and !filename
do whatever in your model “verify” methods, and nil will work. Don’t use blank, basically.

instead of
if user.blank? and filename.blank?
do whatever

How to serve a file in RoR

# this is how to send it out–through Ruby. Unfortunately it appears that webrick buffers all output, so…with a 1 gig file…that is not good–it runs out of memory.
# send_file(realFileCompleteName,
# :filename =>,
# :type => ‘image/gif’,
# :disposition => ‘attachment’,
# :streaming => ‘false’ # If false, the entire file is read into server memory and sent to the client. Otherwise, the file is read and written to the client in :buffer_size chunks. [from Agile Web Development p. 431]

# :buffer_size => ‘4096’
# }

Ruby starting a class as a thread

Here’s a function to start a class as if it were a thread (a la python)

def startGoFunctionAsThread()
return { ||
go() # this is defined somewhere else in the class

Remember if you run this as

a = objectName. startGoFunctionAsThread

to run a.join to wait for it to complete.

Roger's meanderings, notes to himself, bug reports, and other things