Wednesday, May 31, 2006

"The real war is between those who are turned on, and those who are uptight." -Timothy Leary (October 22, 1920 - May 31, 1996)

Tuesday, May 30, 2006

Sunday, May 28, 2006 is a great new web 2.0 website built on Ruby on Rails and looks fantastic. I've just learned that it's the collaboration of two people, Dan Cederholm and Dan Benjamin. That's one of the great things of Ruby on Rails, it allows very small teams to do extraordinary work.

Recently, they both posted an entry on their blogs telling about how they designed Fascinating reading, to hear the story from both their points of view.

This process, of a very small team creating good websites with Ruby on Rails is very similar to what I've found building my new website It's been about three months now, and in that time, I've learned Ruby on Rails and have implemented almost everything I planned to have in the site, and more. We should be launching in a couple weeks. I'll let you know when it goes live.

Friday, May 26, 2006

Girl with a Pearl Earring. I saw the original painting in the Mauritshuis in Den Haag. What an incredible experience. The gallery has three floors, and as you go through the rooms, you see a wide range of paintings from the Netherlands, mostly around the time of Vermeer. You see a few Vemeer paintings as well, and you spend your time slowly going from one painting to the other. Some of the paintings are quite grotesque, with very vivid colours and exaggerated features. The Vemeer landscapes are exquisite, very precise, and show a deep understanding of light. Still, a bit restrained. Then, I came into the last room and was absolutely blasted and held still by the Girl with a Pearl Earring. It's so dramatic, with the black background. Her gaze though is simply entrancing. What is she thinking? Who is she? So beautiful, but passive, almost submissive, and with something underneath, youth, determination. Just amazing. The book is good as well, and the movie is pretty good too. Still, the painting is the masterpiece, and I think is the best Vermeer, and shows all his other work in a different light.

Wednesday, May 24, 2006

Tuesday, May 23, 2006

"The day will come when the idea of community will spread through the world. Gather together those of you who share high ideals. Pool your resources. Buy land in the country. A simple life will bring you the inner freedom. Harmony with nature will bring you happiness and peace of mind known to few city dwellers. In the company of other seekers of the truth it will be easier for you to live in meditation and collective unity."
- Parmahansa Yogananda -- Indian Mystic

I heartily agree.

Monday, May 22, 2006

And there was this amazing Blue Himalayan Poppy, a pure pure blue. Blew my mind.

Some more pictures:

Yesterday was the garden tour in Powell River. Here's some pictures for you smart kids:

Sunday, May 21, 2006

Postfix links:

Postfix and Redhat - chmod 0640 ~/.forward
Postfix Basic Configuration
Some good information from
Virtual domains with Postfix
Postfix docs
Postfix FAQ
Postfix local recipents
Problems with Postfix
SPF - Sender Policy Framework - A tool to help in the battle against spam.

Monday, May 15, 2006

Some links for smart kids:

Understanding the Javascript Regexp Object
Arrays in Javascript
One hundred lines of Caml - A neat looking language. Nowadays, you want to learn lots of different kinds of languages, and use each where it's best suited. This is great, it encourages people to think in a more language neutral way, and to hopefully abandon those old religious wars over languages.
Aligning tables in HTML - I recently needed

td valign="top"

Structured Data with Ruby - A good basic primer to the data structures in Ruby.
Strings in Ruby
Hashes in Ruby
Ruby Quickreference
Fun with strace and GDB - Exploring your Linux system. Neat.
Egyptian Fractions - Very interesting. I wonder what math and science will be like in 3000 years. Will humans still be around?

Sunday, May 14, 2006

Multidimensional arrays in Ruby:

class ArrayMD < Array
def [](n)
self[n] if super(n)==nil

a =
a[1][2][3]="foo" #=> [nil, [nil, nil, [nil, nil, nil, "foo"]]]
What's the secret sauce in Ruby on Rails?

Ruby on Rails is a great framework for writing web applications. The web app that I'm writing now is so nice with RoR, I really like the idea of conventions over configuration. In previous projects I've worked on, I've really tried to use one convention as much as possible, whether it be a convention that I came up with, or an existing one. With this, you can do some really powerful things, especially if you use a very powerful editor, such as the editor I use, Emacs.

Saturday, May 13, 2006

ITER - International Thermonuclear Experimental Reactor. Fusion. I like fusion.

Friday, May 12, 2006

Another picture from Opportunity.

The Mars rover Opportunity is close to Victoria crater, and is currently looking at some interesting dunes. It sure looks like a dry, cold place. I wonder what it would have been like with the ancient brine seas covering the land.

The latest image from Saturn. Titan in the background, with it's fuzzy methane atmosphere, Epimetheus, which was named after the brother of Prometheus in Greek myth, and in the front, the rings of Saturn. Wouldn't this be an amazing sight to see with your own eyes? Just think, in a few score of years, some human will be seeing this.
A fascinating idea, great for my site - Biomapping - Using GPS and Galvanic Skin Response to map how we respond to different physical locations. This is really cool, imagine having these maps coded by time and date, a multi-dimensional emotional map.
Debugging Javascript from Webmonkey

Wednesday, May 10, 2006

Cookies and persistent logging in for web applications:

HTTP Cookies
LoginGenerator for Ruby on Rails
Best practices for Login Cookies
Rails persistent login
TaskTHIS an application with persistent logins. Excellent resource, download the source, it's got a lot of good stuff in it.

AJAX - Don't believe the hype. Brothers and sisters.

Music Annotation:

Music Annotator

CSS Dynamic Style:
Dynamic Drive CSS Style Libraries

Ruby performance:
Performance testing with Ruby blocks

bzr - A new kind of version control system. Looks very cool.
bzr installation
SFTP for bzr - paramiko - SSH2 protocol for python
bzr plugin registry
The magic words:

script/breakpointer -c druby://localhost:42532

And some links for using breakpoints in Ruby on Rails:

Howto Debug with Breakpoint
Tips and Tricks
Ruby Breakpoint API documentation

Tuesday, May 09, 2006

Sweet, this was what I wanted, and was just about to hack up myself: Auto-Login for Ruby on Rails.

This will allow me to have a "Remember Me" button for the website. Most excellent.
Plant zone maps:

Interactive Plant Hardiness Zones of Canada
USDA Plant Hardiness Zones in Canada
USDA Plant Hardiness Zones in Europe
USDA Plant Hardiness Zones for North America


How to plant potatoes
The RMagick Geometry string:

This is the format of the geometry string. Any of the values may be omitted, depending on the context:


This is the ImageMagick description of the geometry string:

By default, the width and height are maximum values. That is, the image is expanded or contracted to fit the width and height value while maintaining the aspect ratio of the image. Append an exclamation point to the geometry to force the image size to exactly the size you specify. For example, if you specify 640x480! the image width is set to 640 pixels and height to 480.

If only the width is specified, the width assumes the value and the height is chosen to maintain the aspect ratio of the image. Similarly, if only the height is specified (e.g., "x256"), the width is chosen to maintain the aspect ratio. To specify a percentage width or height instead, append %. The image size is multiplied by the width and height percentages to obtain the final image dimensions. To increase the size of an image, use a value greater than 100 (e.g. 125%). To decrease an image's size, use a percentage less than 100.

Use @ to specify the maximum area in pixels of an image.

Use > to change the dimensions of the image only if its width or height exceeds the geometry specification. < resizes the image only if both of its dimensions are less than the geometry specification. For example, if you specify '640x480>' and the image size is 256x256, the image size does not change. However, if the image is 512x512 or 1024x1024, it is resized to 480x480.

The x and y offsets, if present, can be preceeded with either a + or - sign. The + causes x and y to be measured from the left or top edges, respectively. Conversely, - measures from the right or bottom edges. Offsets are always measured in pixels.

Any method that accepts a geometry string will also accept a Geometry object.

Some RMagick methods interpret the geometry string values differently. Where this is the case the documentation for the method will explain the differences.

Sunday, May 07, 2006

A Ruby on Rails Reference Manual.
Haskell is a functional programming language, which is very different to most other programming languages, like imperative programming languages, such as C. Lisp is another functional programming language.

Here are a couple tutorials on Haskell:

A gentle introduction to Haskell
Haskell for C programmers

Friday, May 05, 2006

Thursday, May 04, 2006

Ok, you have to check out this video of the Huygens probe descending to Titan:

NASA Titan video page

The totally most information dense video I've ever seen, it just makes me so happy!

Some pictures that I took yesterday:
Although I totally love Firefox, I find that a combination of Firefox for AJAX heavy pages, along with Opera works even better.

I have Firefox and Opera on the same desktop, with Firefox in the 0 0 area and Opera just below it in the 0 1 area, so I can switch between the two with a simple CTRL-UpArrow and CTRL-DownArrow in Enlightenment.

With Opera, I take advantage of it's great handling of multiple tabs. Firefox is great with tabs, but starts taking up a lot of memory when you have 30 or so open tabs, like I do right now in my Opera session. Opera has some really wonderful features and works great completely from the keyboard, with probably better thought out shortcuts than Firefox.

So, I think, use both at the same time, they both have their benefits, and in Linux, they work side-by-side really well.

Here's some Opera links for you:

10 features you'll only find in Opera
Opera Tips and Tricks
Use Opera to do a slideshow

Wednesday, May 03, 2006

The Future of Programming - An interview with Paul Graham.
Strings from PLEAC Ruby, a great resource.
Ruby Kernel interface.

r = rand(number_of_entries) + 1

was useful.
The Real Contribution of Rails - Yes, stop the bloat of these huge frameworks, and reduce the amount of code you write.
10 places you must use AJAX, and places not to use AJAX as well.

I like the new idea that is coming out that you should first design your application to work with any kind of browser, and then add the AJAX features on top. This makes a lot of sense to me, and is what I'm doing with my new big web application.
The Hardest Lessons for Startups to Learn, an essay by Paul Graham.
jQuery - New Wave Javascript.
Comparing XSLT and XQuery.
Round up of 50 AJAX toolkits.

Because I use Ruby on Rails, Prototype and Scriptaculous make the most sense to use, but there are some great ideas in these other toolkits. Now, to come up with a way to be able to use multiple toolkits at once, and to pick and choose the features you require from each of these.
A good programming font is really important. I have done many searches for perfect programming fonts in the past. I really love Monaco, which reminds me of good times spent in front of the Mac Plus. Sometimes I wish I had a Commodore Superpet, with that beautiful green on black. Nowadays, I use Bitstream Vera Sans Mono, which is quite nice, and I have it on a gently coloured background.

What brought this all to mind was a new article on Programmer Fonts.

Some advice for you young coders: Be kind to your eyes, you only get two of them, and they have to last you.
A good KernelTrap interview with the contraversial Theo De Raadt.
Discard your worries, mind!
Remember in your heart That Mother!
She is All-present: in the house and in the forest.
She is behind, in front, inside, outside.
Her Name, drink as the Elixir my friend,
She gives you Ultimate Contentment.
No other than She in Her abundant mercy
Knows the afflictions of your heart.
The month of May is a perfect time to celebrate the divine Mother, and the Virgin Mary is such a universally adored manifestation of the female aspect of God. Here's a prayer that is often said to mother Mary:


Remember, O most gracious Virgin Mary, that never was it known that anyone who fled to your protection, implored your help or sought your intercession was left unaided. Inspired with this confidence, I fly to you, O virgin of virgins, my Mother. To you I come, before you I stand, sinful and sorrowful. O Mother of the Word Incarnate, despise not my petitions, but in your mercy, hear and answer me. Amen.