Sunday, April 30, 2006

I just saw a great Google Techtalks video of Scott Barber from PerfTestPlus talking about UCML, User Community Markup Language. This is a visual way to draw out how people will interact with your website. It ends up looking a lot like a Markov Chain diagram. It would be so sweet to do this for Ruby on Rails, so that this diagram could be automatically generated from your actual running website. With Ruby's excellent reflection and dynamic language support, it might not even be too painful.

Wednesday, April 26, 2006

Wow, so sweet, a way to write programs for Emacs in Ruby: el4r. This is so cool, you can access Emacs Lisp variables with Ruby and interact with Emacs with a Ruby script.
Growing Hot Peppers and the Scoville scale. I'm growing some hot peppers in my garden this year, but I'm concerned that the soil might not be warm enough for them. I'm thinking about putting them under one of those glass half-domes to simulate a greenhouse, or perhaps putting them on a seeding hot pad.
An amazing article about how a Humpback whale got ensnared in lines, and divers rescue it, and afterwards, the whale thanks them. So wonderful!

Tuesday, April 25, 2006

It has been said that the unexamined life is not worth living. Unfortunately we are often too busy to take the time for self-examination. As a result we sometimes don't realize that we have deviated from our real goals and purpose. Here are some questions that, if asked regularly, will help to keep oneself on target.

1. Does my life reflect my values?

2. What do I want my life to be about?

3. Do I either know the direction I want my life to go OR have sufficient faith in a higher power to trust that I do not need to know? (This is different from being a straw in the wind.)

4. Am I putting my time and energy into the areas that are most important to me?

5. What areas of my life am I short-changing?

6. Am I giving too much power to negative influences?

7. Am I unknowingly closing out people I care about?

8. Am I giving enough time to nurturing/replenishing myself?

9. Am I cultivating and making room for the influences I want to come into my life?

10. With all of the above answered, how can I re-allocate my resources, my time and my energy, to reflect my true values and to move me in the direction I am seeking?

Monday, April 24, 2006

Lots of links:

Some nice and free icons.

A very simple and nice calendar generator for Ruby on Rails: CalendarHelper.

Date class in Javascript.

Putting REST on Rails

Another calendar for Ruby on Rails CalendarHelper. This one interfaces with a fancy Javascript Calendar from Dynarch, pretty big, but does lots of neat things.

Curing Float Drops and Wraps

Fixing the IE Float Drop Bug

Centering a block or image

Rails geocoding and Google Maps

Create your own AJAX effects - From Thomas Fuchs himself.

How to quickly do authentication with LoginGenerator.

LoginGenerator



Some very nice pictures of Rainbows.

Star clusters in the Small Magellanic Cloud


Some links for uploading files with Ruby on Rails:

Tiny File
file_column
HowtoUploadFiles from the Ruby on Rails wiki

Friday, April 21, 2006

This is a painting of some Japanese Peonies.

Tuesday, April 18, 2006



The way people read webpages. Fascinating, they read in a number of different patterns, and commonly in the shape of an "F" or an "E".

Monday, April 17, 2006

The LoginGenerator gem is a good way to add login capability to your Ruby on Rails application. Here's a RoR wiki entry on LoginGenerator

I found it easy to install.

First, install the gem:

gem install login_generator


Then, generate the controller with:

script/generate login Account


Then change your ApplicationController to look like:

require_dependency "login_system"

class ApplicationController < ActionController::Base
include LoginSystem
model :user


Then, for Postgres, add a "users" table with:

CREATE TABLE users (
id SERIAL PRIMARY KEY,
login VARCHAR(80),
password VARCHAR(40)
) WITH OIDS;


Finally, add the following line to any controller you want people to have to login to get to:

before_filter :login_required

Saturday, April 15, 2006

Reducing Firefox memory (RAM) footprint

An important one, which might reduce performance, but saves space.

about:config
browser.cache.memory.enable

You can also check how much RAM your extensions take by starting Firefox in Safe Mode

firefox -safe-mode
How to install Postgis.
Random Javascript/Ruby on Rails Links:

Badgerfish - Translate XML to JSON (The JSON looks a bit ugly to me...)
Canada On Rails talks
Testing the Rails
logger.js - Simple logging engine for Javascript
The DOM Event Model
The encytemedia blog - Good information on how to use Prototype more effectively
DOM:element - From developer.mozilla.org
Working with Events in Prototype
Event Selectors for Prototype
Prototype meets Ruby - Enumerable Array and Hash.
Painless Javascript with Prototype
Good practices with Javascript
Top Ten Javascript functions
The Firefox DOM Inspector
Microsoft JScript Reference
Javascript tutorial at Quirksmode
moo.fx documentation
CSS Cheatsheet
Advanced Javascript at sergiopererira.com
Rails and AJAX
Sparklines - Graphs for Ruby, and
Gruff Graphs - More Graphs for Ruby.
Another essential Firefox plugin for developing AJAX apps: Tamperdata - This plugin allows you to edit HTTP headers and POST data.
Ohh, nice: A big list of Javascript tools.

Javascript Lint
Javascript Object Tree
JSView for Mozilla
moo.fx - Opacity and other effects for Javascript through Prototype
Firebug - Mozilla Javascript and CSS debugger.

Friday, April 14, 2006

Wow, Javascript is cool, but it's really hard to find good info on it. Here's some links that were useful for me:

JSUnit - Unit Testing Framework for Javascript
Advanced Javascript
DOM:element - Document Object Model - Element info
DOM Level 1 Core
behaviour.js - Great extension for prototype.js to do behaviour coding which helps to simplify your .html code
rico.js - Add on code for Prototype to do neat AJAX stuff
prototype.js - Essential cross-browser javascript library
Javscript primer
Javascript events
Essential information for prototype.js
Javascript DOM events
addEventListener - For Firefox, but same model is used in prototype.js
Event info
Javascript events - A good summary of the different kinds of events and which objects they correspond to
Easy AJAX with prototype.js
Venkman - Javascript debugger for Firefox
Venkman FAQ
Prototype Meets Ruby: A Look at Enumerable, Array and Hash
Working with Events in Prototype
Event selectors for Prototype
Painless Javascript with Prototype
A short summary of Prototype


Whew!

Thursday, April 13, 2006

Understanding the Prototype Event model is a little tricky. Here's a good Web page that explains things well.
Understanding the Prototype Event model is a little tricky. Here's a good Web page that explains things well.

Wednesday, April 12, 2006

Some great Firefox extensions:

EditCSS - Edit your CSS on the fly.
Firebug - Explore the DOM.
MeasureIt - Measure pixel distances.
A big list of Extensions
ColorZilla - Find the color of anything on a webpage.
LiveHTTPHeaders - Watch HTTP headers as they are downloaded.
Aardvark - See how a page is constructed, block by block.
Web Developer Extension - Lots of good stuff for web developers.

and

Firefox tips and tricks
A newborn baby is the purest form of a human
being. This purity remains until the baby understands
my/mine, you/yours.

- Baba Hari Dass
Real world RJS templates - From Scott Raymond.

Joyful Javascript - Experiences of joyent with Ruby on Rails 1.1 and Javascript

Javascript events - A little hard to follow.

Onmouseover in Javascript

HTML DOM Event Object in Javascript

CSS Links - How to make anchor links look different

A little Javscript tutorial on hiding divs with Javascript.

Drag and Drop at AJAX Patterns.

An excellent demo page on Drag and Drop with Javascript.

A fantastic Javascript demo Magnetic Poetry.

A poster by Jesse James Garrett : The Elements of User Experience.

A different direction with Ruby on Rails

Javascript Weenie - A great resource page with lots of tutorials to learn different aspects of Javascript.

Sunday, April 09, 2006




The $100 laptop project is going strong. They decided to get rid of the hand crank because of the torsional forces on the laptop, and instead will have something like a pedal on the AC adapter. Here's some pictures for you.
The CSS Box model. - This explains boxes in CSS with margins, borders. Also, the Table model.

The Overflow declaration - What to do with content that doesn't fit in a div.

Ruby on Rails for Designers.

Rails on Emacs - with a few little hints.

Ruby on Rails on the EmacsWiki.

CSS Layout tutorial at subcide.com.

CSS Cheatsheet

Thursday, April 06, 2006

Oh wow, the best way ever to authenticate that a human is interacting with your computer: The KittenAuth Test.

Basically, the article says that OCR methods, commonly used by most sites, are eventually going to be cracked, but it's very hard for a computer to distinguish a kitten from other cute fuzzy little animals. Brilliant.

Here's the KittenAuth test in action.
CSS Cheatsheat
Great page talking all about design: Design Meltdown.
New features in Rails 1.1.
RJS - Ruby JavaScript - Very cool addition to Ruby on Rails to do Javascript in Ruby:

The hardcore API documentation

RJS element and collection proxies

Rails RJS templates

From A comp.lang.ruby thread about the new features in Rails 1.1:


Here goes a few sample rjs calls:


# First buy appears the cart, subsequent buys highlight it
page[:cart].visual_effect(@cart.size == 1 ? :appear : :highlight)


# Replace the cart with a refresh rendering of the cart partial
page[:cart].replace_html :partial => "cart"


# Highlight all the DOM elements of class "product"
page.select(".product").each do |element|
element.visual_effect :highlight
end


# Call the custom JavaScript class/method AddressBook.cancel()
page.address_book.cancel


# 4 seconds after rendering, set the font-style of all company
# spans inside tds to normal
page.delay(4) do
page.select("td span.company").each do |column|
column.set_style :fontStyle => "normal"
end
end

State of the Web 2.0 a long article with some fancy graphics about what is happening with Web 2.0.
Foreign Keys in Postgres

HTML Character codes

Ruby on Rails Book Roundup - I have "Agile Web Programming with Rails" and the Pickaxe Ruby book from Pragmatic Programmers, they're both excellent.

Some sample RJS calls.
mmm... Javascript Cake. Tasty!
baboons don't get stressed out.

Emacs and PSGML

ERB - Embed Ruby in an HTML page

On the fast track with Ruby on Rails

Looking at Ruby on Rails
Guy Kawasaki talks about how to write a good Executive Summary for when you are looking for investors in your business.

via the excellent meish.org, a blog by one of the people I used to go to college with. hi meg!
HTML Special Characters - Webmonkey, nice to see it still around, it's sure been around a long time.

Wednesday, April 05, 2006

Some great Javascript information and scripts at jennifermadden.com.
Interesting GreaseMonkey extension : Platypus which lets you view and edit web pages on the fly.
Wow, so cool, in Firefox, view your HTML page source rendered in little boxes to make things easier to understand:
View Rendered Source Chart Firefox Extension

Tuesday, April 04, 2006

What's new in Rails 1.1.

Lots of great stuff, the RJS (Rails Javascript) addition looks particularily impressive, you write code in Ruby and it runs AJAX Javascript on the browser. Very cool.

Monday, April 03, 2006

The Shift to Social Computing

Predicting how carbon nanotubes break using computer simulations. Very cool, good to see some work done on simulating carbon nanotubes, there are quite a few tricky things about simulating them, including the fact that you want to look at them on long length scales.

Sunday, April 02, 2006

Ooooh, sexy : Google Maps + Wikipedia = Placeopedia. Neato!
"Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an "architecture of participation," and going beyond the page metaphor of Web 1.0 to deliver rich user experiences."

Tim O'Reilly

Saturday, April 01, 2006

Developing Ruby on Rails
REST - Representational State Transfer

I'm no longer so sure about WSDL and all those acronyms anymore,
the big companies have really made them too huge and unworkable,
it's a standard that isn't really a standard, which is too bad,
it is such a great idea to have a way for different programming
languages to come together and have a way to transfer data between
them and be able to call procedures in other languages, anywhere
across the web. Hopefully someone simplifies it soon.

REST (Representational State Transfer) is an old idea that is
becoming new again, the idea of web servers transferring XML
and HTTP without the extra baggage of SOAP and WSDL. It was
really nice to think of this becoming standardized in some way,
but I think the important thing is that the data is human readable
and machine readable, and just plain XML is great for this. I've
been a part of some software projects where a binary data format
was used for economy, and in one of them it ended spectaularily
badly, it took 6 months to debug a very insidious problem and then
years later, the code was abandoned. The data *has* to be human
readable as well as machine parsable.

Here's some good REST links for you:

Wikipedia REST entry
A guy explains REST to his wife
Building WEB Servies the REST way
Roy Fieldings PhD thesis where he coins the term REST.