Wednesday, July 26, 2006

Explaining how Livejournal caches with memcached - Oh, I love memcached.
"Small businesses rule. They drive this economy, they provide the jobs, they provide the innovation, they provide the ideas. They fuel it all. Many are never noticed. Many are taken for granted. But people press on because it’s their passion. Small businesses are about passion and that’s why they’re so important. Passion and curiosity drive great things." - Jason from 37signals.

So cool. I really want to just have this great little small business that I have succeed. It's so nice working for myself, and I really want to do this for a long time. Wish me luck.
Whoa, sweet, a Javascript shell.

Tuesday, July 25, 2006

Migrations in Rails so rock.

Just create your models with


script/generate model TestModel


then run


rake migrate


If you discover you need to change something in the table, edit the migration file, 001_create_test_model.rb, then migrate to version 0 to drop all the tables:


rake migrate VERSION=0


then migrate again normally to update your database:


rake migrate


I had a really sweet solution with a custom built Makefile, it was truly sweet, and used dependencies and everything, but really, this way is so much better, and would work with any kind of database that Rails supports, so it's "The Right Thing". Drat, I'm not looking forward to recoding all my tables as migrations, but I am going to do it, and not slack off with "rake db_schema_dump" which just looks like it sucks, unless you have a truly massive database already built. Well, I do, it's lots and lots of tables, but still, I will be strong. :)
Mass linkage dump:

(Man, I need a script to automatically do this from Opera, I get so many links that I want to read and remember but just don't have time for right now. delicious doesn't work for me, it's too slow. Something better, please!)

http-access2 - A way to grab content from HTML pages. Needed by the excellent rssfwd, which I'm going to install locally, because they're having problems with the server.
Hpricot forms goodness - Wow Hpricot rocks for testing HTML pages generated by RoR.
A massive RoR wiki engine - If you have a huge server, this is lovely.
Installing rssfwd - Sweet goodness.
Myths, Lies, and Truths about the Linux kernel - An OLS (Ottawa Linux Symposium) 2006 keynote.
the juggernaut plugin - I'm going to do something a little more lightweight for TelepathyTest.com but this looks pretty sweet for pushing content to clients. Probably majorly resource hungry though.
Testing Ruby on Rails
A Technical History of Apple's Operating Systems - It's all been downhill since the Apple ][, which I did massive coding on. I made a restriction digest reader with photoresistors and the Apple ][ joystick back in 1986. Yeah, I rock.
Time for Contextual Tagging? - Like Anarchia says, maybe not.
Revision Control for groups.
Tim Bray on Ruby
Refactoring to REST
Ruby on Rails Migrations Explained
Gamma formalism - the "chemical reaction metaphor"
Separate data and formatting with microformats
Speed up Apache 2.0 with mod_deflate
Auto-generating schema from Rails migrations
Getting Started With ActiveRecord Migrations
Import CSV File into Database Using Migrations
Safely using models in migrations
Rails Migration Cheat Sheet
CSS Layout Techniques: for Fun and Profit
Box model tweaking
Border-Box vs. Content-Box
Box Sizing Behavior
Advanced box model test
Advanced box model test - part 2
HowtoUseRailsWithSubversion
Subversion Properties
compositekeys – ActiveRecord Composite Primary Keys
tabnav for Rails
more tabnav for Rails - Sweet.
HashLife - For when I have lots more time. I love the Game of Life, I remember back in Grade 6 when I tried to program a Game of Life simulator, for a computer camp. It was a little bit beyond me, but I got pretty close.
PostgreSQL Performance Tuning
Performance Tuning PostgreSQL
Performance Tips for PostgreSQL
indices for PostgreSQL
indices in SQL
Wikipedia - Index for Database
Sometimes you don't want to put things in a database. - I used to abhor databases, but now like them lots, but this is a good point, you don't need to put everything in a database. For lovemygarden.net, I'm not putting pictures in a database, for example.
Fine Typography for the Web
nload - A network traffic analyzer
Server monitoring with munin and monit - I'm going to install both of these. Working on munin first. I'm also going to get it to email me daily graphs, just so that I can have a good feeling for what is going on, and will try to get monit to email me information about when it needs to restart services. I'll keep you posted.
Howto: Performance Benchmarks a Web server - Important, I'll try to remember to do this.
The various versions of CSS
“ It’s a beautiful day for launching your love beams. ”

Edith Frost

Sunday, July 23, 2006



A recent crop circle in Oxfordshire.
You seem to want instant insight, forgetting
that the instant is always preceded by a long
preparation. The fruit falls suddenly, but the
ripening takes time.

- Nisargadatta Maharaj
Lovers in their brief delight
gamble both worlds away,
a century's worth of work
for one chance to surrender.

Many slow growth-stages build
to quick bursts of blossom.

A thousand half-loves
must be forsaken to take
one whole heart home.

- Rumi

` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `

Version by Coleman Barks
"Birdsong"
Maypop, 1993
You have the right to work, but never to the fruit of work. You should never engage in action for the sake of reward, nor should you long for inaction. Perform work in this world…as a man established within himself - without selfish attachments, and alike in success and defeat. For yoga is perfect evenness of mind.

-Bhagavad Gita 2:47-48

Saturday, July 22, 2006

“Make no little plans; they have no magic to stir men’s blood and probably will themselves not be realized.” Daniel Burnham

Friday, July 21, 2006

Migrations outside of rails

safe erb - A Ruby on Rails plugin to check to make sure your pages escape HTML correctly.

database normalization

The Subversion Manual

quick subversion tips

more subversion info

>How to use Rails with Subversion

Subversion in Emacs - I use psvn.el, an excellent elisp package.

Subversion on the Emacs Wiki

subversion cheat sheet

CSS - A detailed document about CSS.

The Joy of Migrations - I still don't use migrations, but I really should. Soon.

Rails best practices and tips

ffmpeg - A great way to make screencasts from Linux. I'm working on an Emacs screencast vlog, but I'm really busy with my Ruby on Rails projects right now.

Nice URLs with Ruby on Rails
Create 37signals style graphics
1001fonts.com - Good site for free fonts. I found Blue Highway there, which is a good free font that reminds you of 37signals.
Tips for making Print Stylesheets. You don't need to have a "Print" button on your web application that makes a simple version of your page, instead, make a print version of your CSS stylesheets, and hide the elements that you don't want to display.
rounded borders in Gimp. Rounded borders look really nice on web applications. I found the second example worked best for me:

1) Select a region
2) Shrink the region by 20 pixels
3) Grow the region by 10 pixels

Tuesday, July 18, 2006

Ruby bindings for Subversion - This post talks about replacing the ActiveRecord save function with a call to a Subversion repository. I'm not sure if I would have put this functionality into ActiveRecord, but this is a very intesting thing, that you can directly access Subversion with a Ruby client via SWIG. I've been thinking about better ways to show changes to documents, and using Subversion might be a good way to do this.
Microsummaries - A way to describe a changing page in a small summary that is more useful than the title of a page.

Saturday, July 15, 2006

Video Editing With Linux - I'm using Cinelerra, which looks really cool, but is pretty slow on my 256MB workstation.

cinelerra
Video capture and Editing under Linux
Cinelerra Tutorial