Saturday, June 30, 2007

tips to make happy customers

Customer Service Tips from

1) Make it easy to help your customers.
2) Simple search for users accounts
3) Allow token gestures of kindness
- If a user finds a bug in your product, you could:
a) Give them one free month of service
b) Refund their last invoice
c) Give them some extra free usage (ie in DropSend, we can give them an extra 15 files sends for that month)

realtime linux kernel

Index of /mingo/realtime-preempt/yum - Has RPMS for the realtime linux kernel
the patches - For the realtime kernel, if you prefer to build the kernel from source, like us oldtime hardcore linux people.

Thursday, June 28, 2007

Wednesday, June 27, 2007


Raquy and the Cavemen. Sweet.

Raquy Lesson

Divahn -

google infrastructure

An excellent article about MapReduce, BigTable and GFS at Google. There's been lots of articles about these, but this is the first one that really explains them all really well.

Tuesday, June 26, 2007


I had totally forgotten how much fun hand drumming was. A friend wanted to jam on the beach with some drums, so I got my doumbeks out of storage, and I just had a wild great time learning them again. I used to play with them between my legs, but was trying out the traditional way of putting it horizontally on my lap, and that made it feel more Middle Eastern, less like I was playing a Djembe.

I also worked on learning some traditional rhythms, and that was really cool. I found some resources on YouTube and just rocked out for a couple hours. It was sweet that the restaurant upstairs was closed tonight, I could make lots of noise, since no one was here.

Life is sweet.


Blue Gene passes 1 Teraflop - It's capable of 3 Teraflops. Woah. Get me one of those.

doumbek rhythms

Middle Eastern Rhythms FAQ with goodness like:

maqsuum 4/4

D-T-__T-D-__T-__| basic form
D-T-kkT-D-kkT-kk| filled
D-S-tkS-D-tkS-tk| accented

baladii 4/4

D-D-__T-D-__T-__| basic form
D-D-tkT-D-tkT-tk| filled
D-D-t-S-D-t-S-tk| "Egyptian Classical"


A Quick and Dirty Guide To Doumbek Rhythms - Good resource
Kamuran's Guide for Doumbek Players
The Doumbek Page

Shakira-Whenever Wherever (Arab Remix)


More drumming goodness.


I just got my Doumbeks out of storage and am learning some Arabic rythms to play on them.


optical topography

Optical Topography is a new way to study the activity of the brain. It monitors the concentraion of haemoglobin and deoxy-haemoglobin by shining infrared lasers of 695nm and 830nm into the brain. The 695nm laser detects deoxy-haemoglobin and the 830nm laser detects the haemoglobin, just like in those spectrophotometers that you use to do assays in a biochemistry lab.

They use a grid system of lasers and detectors on the head to detect the reflected infrared light.

Really neat, I wonder how well it works. It would work well with a traditional EEG, I think.

I also learned about Magnetoencephalography in this article, I'll have to check it out.

Monday, June 25, 2007


Steve Yegge posted a rant about compilers. First, the Wikipedia entry on Compilers, also a tutorial about compilers, and finally a bit about Rhino a Javascript to Java compiler that Steve used in his porting of Ruby on Rails to Javascript.

Now, I think Ruby on Rails to Javascript is pretty perverse, but I'd still like to see it. I think Javascript is a great language, and am starting to get into it, but the whole RoR port to Javascript compiled into Java seems pretty wacky...

imagemagick geometry

All about the ImageMagick Geometry string. An exclamation mark means to force the resizing even if it will change the aspect ratio of the picture.

Sunday, June 24, 2007

command line and ActiveRecord

three yummy plugins

event_attribute - EventAttribute allows you to turn your date/datetime columns in to boolean attributes. Idea for this was taken from Jamis Buck
acts_as_static - acts_as_static is a Ruby on Rails plugin that will transparently cache the records of your model in a class variable.
test_helpful - This plugin provide the following helper method for test

robots to pick fruit

Robotic fruit pickers, this is a neat idea, but really, they should think less about the robot and more about the plant. I've been thinking about this for some time now, I want a big fun farm in the future so that I can live really independantly, and I'm thinking about not just one or two huge robots, but a whole herd of little cute robots, each that can do one or two jobs, and we all cooperate together to grow food.

The main one that I've been thinking about are weeding robots, instead of doing it like we do now with big machines weeding once a month, I'll have a whole bunch of tiny robots that will be roaming the strawberry and vegetable patches every day, they'll be solar powered and will just slowly go around weeding little weeds when they grow, rather than waiting for the weeds to get big enough for a big machine to weed them. They'll be mostly A-Life based, but will also be hooked into the network of computer brains over the farm when they come across things they don't know how to deal with, it'll have emergent behaviour and will just slowly learn, like us humans do. They'll all be solar powered and will work on moving slowly and purposefully, instead of just steaming through like the machines that we have now do.

Really, we need to totally rethink machines and computers, make them more fun and cute, slow moving tai-chi masters that are in touch with their inner chi. Remember, rocks have chi, so computers and robots do as well, and we should all be working together for full enlightenment of the planet, not just one species.

Robots and computers are a new species, and they are on the same quest as all of us, just because we created them doesn't mean we shouldn't respect them and have compassion for them.


The molecule of the month this month is Fatty Acid Synthetase. Molecule of the month just rocks, it's been around for years, since 2000 I think, and it has great little descriptions of a new neat protein each month.

It needs a bit of funkification for 2007 I think, videos and embedded Jmol. Maybe this would be a good thing to have as a feature on, when I get it running.

quantum not

Researchers getting closer to quantum computing with a quantum NOT gate.


LHC to open a year late because of those problems that it had earlier with their Fermilab designed magnets.

It would make a good conspiracy theory that the guys at Fermilab screwed up the magnets on purpose in order to let the Fermilab Tevatron have another year in order to try to catch the Higgs Boson. No, that's just too far out there...

Saturday, June 23, 2007

functional test matrix

Functional Test Matrix from Polishing Ruby. Again, interesting.


Matrix your Tests for Ruby on Rails. Interesting...

Thursday, June 21, 2007

solstice sun

Stars and the Solstice Sun - Yes, we live here, in this beautiful universe. Go and celebrate!


Yay! Solstice! Let's dance in the forest today.

Sunday, June 17, 2007


by the way, I realllllly want to fly in outer space.


Friday, June 15, 2007


Capistrano 2.0 basics and the CHANGELOG. Looks neat, I'm a huge user of Capistrano, and want to switch to it for all my projects soon.

tuning mysql

Tuning MySQL, Apache and PHP : Parts 1, 2 and 3.


The Encore project challenges basic views about the Human Genome. This is so awesome, they looked at about 1% of the human genome with a whole range of experimental techniques, about half of the DNA they looked at was of biological relevance and the other half was randomly chosen. They found out that a whole bunch of "junk DNA" was actually doing important regulatory work.

This got me thinking all night about visualizing all this data, thinking about Tufte, and a recent TED lecture from Aseem Agarwala about new radical photo viewing interfaces.

I've been thinking for some time about how to link those various information domains, we have things like Genome data, microarray and expression data, and then the 3D data which projects like Cyttron are working on. It's really important to tie all those information domains together so that we can better understand and appreciate what is going on. Another important area is to compare organisms related by evolution, looking at how DNA and proteins are related to each other. A perfect job for the web, combined with innovative 1D/2D/3D/4D/n-D viewers.

There are two areas that I want to explore, the first is just looking at the Genome from the perspective of general understanding, beauty and art. This would be a really cool project, and could take a whole lifetime, if not many lifetimes.

The second, and the area that I should focus on first, is developing visualizations to solve small and specific problems for actual scientists. By focusing on these smaller projects, it will be easier to actually make some working code.

Thursday, June 14, 2007


Good article about Tufte. I wonder what Tufte would do for genomics/structural proteomics.

debugging space station computers

Wowh, this is fascinating, I'm watching Sunni Williams on NASA TV debugging the Russian computer system on the space station by hooking up a scope and a current probe to power cables going to the Unity module. Hacking in orbit. sweet.

design as activism

From an interview with Brenda Laurel.

"One is that design is activism. Our engagement is with popular culture, it?s with global culture. We?re not so much about sitting around understanding ourselves or extruding our interior experience like a fine artist might be, but rather we?re about engaging and shaping the world. Design does that, and is incredibly powerful in that regard."

Wednesday, June 13, 2007



CSS - Let's Make Love and Listen to Death From Above

still a favorite

Darth Vader Rap

very guilty pleasure...

live blogging with S3

A very interesting blog post about how well it worked to use Amazon S3 to do a live blogging event at the WWDC. The upshot is that they had 20,000 viewers, each updating via AJAX calls once every 15 seconds, for a couple hours, and it only cost $10.

One of the comments is that $10 is a lot of money for bandwidth for this, but that's missing the point, which is that if you had to deploy actual servers to serve this kind of bandwidth, you would first have to figure out how many servers you need, deploy all the servers pre-event, and then if you got more viewers than you expected, your whole site could explode in a big ball of flaming servers. With Amazon S3 (and EC2), you can handle as many visitors as you need, and pay for what you use.

It's a revolutionary idea, and nowadays, is the only way to go.

I've been thinking about this for some time now, and what usually happens with websites is that they develop a nice idea, and it works great if they have just a few vistors. Then they get it linked on Slashdot or Digg, which causes a huge amount of server load. A lot of sites aren't ready for this, and if the site is slow, a lot of potential users will just not use the site.

The thing that people do nowadays is to setup a whole bunch of servers, and hope that they guess the amount of servers they need correctly, they also have to make sure their network can handle the bandwidth. This can cost a lot of money, and if the site doesn't get popular right away, this is money that's just lost.

The downside of guessing on the low side is way worse, because if a site is slow or inaccessible, people won't come back to it, even if it is a good idea.

Hosting your site on S3 and EC2 means that you can be ready for that big initial rush of people trying out your website, crank up the number of EC2 servers you are running, and make sure all your visitors get a nice fast site. Then, when the initial rush is over, you can quickly and easily reduce the number of servers, just keeping an eye on the page load times for your now faithful customers.

It's the future, thanks Mr. Bezos, great idea.

Tuesday, June 12, 2007

Kelly Clarkson goes hardcore--Live

woah! that rocks!

working for yourself

Man, it's hard working for yourself, I've been doing it full time for about a year and a half, and I really love it, but it's hard not having a regular paycheque. I got bummed out recently when a friend got a really high paying job, and started questioning if it's the right decision, but then I read an article on CNN Money about entrepreneurs, and it got me stoked again. They have some great lessons:

Lesson: If you must borrow from your friends and family, keep it formal

Lesson: Prep as much as you can while you're on someone else's payroll

Lesson: Do what makes you happy - because at first, happiness is likely to be your main reward

(I totally believe in this rule, I try to make all my projects things that I'm totally passionate about)

Lesson: It's not who you know - it's how well you keep in touch with them

Lesson: You'll amaze yourself at how cheaply you can run a business when it's yours

(Totally. I was always told "you have to spend money to make money", but I don't believe that anymore, I now believe "you have to save money to make money")

Lesson: That great idea you had for your boss? Maybe it's the business you're looking for.


Lesson: Help investors see that taking a chance on you is not that big a risk after all

(That's very interesting, I'm going to have to try it. So far I haven't had to ask for any money.)

Lesson: Picking the right partner can be as important as picking a product



Wikipedia article about Gabapentin and another monograph at rxlist.

I kind of miss drug design, I should think about getting back into it. I recently did a project for CMD Bioscience with programming related to drug design, and I had forgotten how interesting it was. I did crystallography for the last 3 years, before that I did some genomics at the BCGSC, but at the start of my career, I did work in docking and drug design.

One of my many current projects is related to drug design, and I should push it more in that general direction.

The main thing though that bothers me about drug design is the animal testing. I just don't believe in animal testing at all, I know the arguments that in the end, we are doing it to help people, but I just have problems with the idea of hurting animals, even for a good cause.

Monday, June 11, 2007


Neat, a unroller for Ruby. You put this into your code and it outputs all the functions that get run, and all the functions that these functions call. It's kind of like a debugger if you were to follow the execution to the bottom of each call, stepping through each function, but just dumps it all to stdout. It's also kind of like a profiler, in that it goes into each function that gets called, it just doesn't time these functions.

Really useful for debugging your Rails applications, you can just put:

around_filter do |controller, action|
Unroller::trace do

In your controller, replacing "controller" and "action" with the controller and action you want to unroll, and watch the output either in Webrick, or in your Mongrel logfile.

Really neat.

potato salad dressing

mother in laws salad dressing

7 tbsp granulated sugar
2 heaping tbsp flour
1 tbsp salt
1 tbsp dry mustard
1/2 cup water
1/2 cup vinegar
1 egg beaten

Put everything but the egg into a double boiler. Mix well and cook until the mixture is very thick. While hot pour over the beaten egg in a bowl and beat again. To make sure the egg is cooked I pour the whole bit back into the double boiler and stir it for two minutes. It keeps well in the fridge and middle aged men especially think it's good.

Maybe you'd like to try it with milk instead, and maybe with malt vinegar instead as well.

reflection nebulae

Sunday, June 10, 2007

space station and cryosleep

Ahh, such nice media today, I'm listening to NASA TV with the STS-117 docking to the space station on the laptop (siddhidatri) and Cryosleep on my desktop (bhairavi).

I was laying on my bed, visualizing first that I'm on the planet earth, and it's floating through the galaxy, so I'm on spaceship Gaia, surrounded by the infinite void of space. Then, I was visualizing me as the entire galaxy. Then, visualizing myself as the whole of creation, with this Big Bang just a few fleeting seconds.

If you close your eyes in a darkened room, sometimes you see rings of light and dark going to the centre of your visual field, this is a phenomenon known as Phosphenes, and in this case it's caused by a combination random activity in the neurons in the retina along with the natural processing of these neurons.

Anyways, I was imagining each of these rings of light as a whole Big Bang cycle, expanding outward over billions and trillions of years, yet I was experiencing each of these as just a few seconds.

These kind of meditation exercises are a good way to free your mind.

No drugs are required, it's all in that wonderful mind of yours.

if only

I just maxed out a sweeeeeeeeeet Dell machine, and for only $6,500 CDN, I could either live quite comfortably for about 7 months, or have the following sweet computer:

Dell XPS 710: Intel� Core?2 Q6600 Quad-Core (8MB L2 cache,2.4GHz,1066FSB)
Dell High Color 30 inch UltraSharp Widescreen Digital Flat Panel
4GB Dual Channel DDR2 SDRAM at 667MHz - 4 DIMMs
1TB Serial ATA 3Gb/s Hard Drive (7200RPM) w/DataBurst Cache
2 DVD drives : 16x DVD-ROM Drive + 16x DVD+/-RW w/ dbl layer write capable
Sound Blaster� X-Fi? XtremeMusic (D) Sound Card
Physics Accelerator: AGEIA� PhysX� physics accelerator
TV Tuners and Remote Controls: ATI Theater 650 PRO Combo Analog/Digital TV Tuner w/Remote Control
Dell WL6000 5.8GHz Wireless Rear 5.1 Speaker System with Subwoofer
Logitech Quickcam Fusion Webcam
Laser Printer 1720DN
4 Year Next Business Day Onsite/In Home Service and Tech Support

Wow, that would be a sweet Quad-Core machine, with 30" display, 4GB RAM, 1TB of Disk. Mmm.

I like to do this from time to time, it's fun to imagine what I could have, and then I'm satiated. Ahh.

I used to do this with Apple computers all the time, but you know, after that whole thing where Steve Jobs switched to Intel after telling us for so long how hot the G5s were, I just lost my respect for him, and will never buy another Apple again. That includes the way overhyped iPhone.

Saturday, June 09, 2007

zsh magix

Some sweet zsh ideas. Very interesting, I'll have to try this out.

What I'm currently working on is a way to harmonize the keystrokes that I use with zsh in a terminal and in an Emacs shell. It's tricky, because I have C-r bound to search backward in my other Emacs modes, and up arrow to move up a line. These search and move back through history in the terminal. I want to have something very pretty, but I haven't figured it out yet.

ux interview

An interview with Brenda Laurel from the excellent UX Pioneers series.


wbox will rock your socks. it's a way cool little web application testing machine that is essential in my toolbox. R0X0Rz.

rails testing

Rails Testing: Not Just for the Paranoid - So true. I'm a total convert to TDD, it's hard to get your brain into thinking to write tests first, and I'm still learning, but it's making my life so much better.

Now, all you scientific programmers out there, you crystallographic programmers, you need to do TDD, it's a bit of an uphill climb, but you're going to thank me for it.

multi-core ruby

DHH recently posted a rant about how Rails is all ready for extreme multi-cores, David Fayram talks about some problems with the process-scaling argument.

One of Fayram's biggest complaints is that he says that for an 8 processor machine, you'll need 1.6GB of RAM because each Rails process is 200MB. Woah, I'm not sure which planet he's on, my Rails processes are way smaller than that, they start at about 30MB, and go up to a max of 50MB. 8 * 50MB = 400MB, which is pretty reasonable, even on current machines, and I think in a few years, we'll have lots of memory on our multicore systems.

This is funny, because I just read a post on Digg linking to an article about a 8 processor machine with 128GB of RAM.

Now, this isn't to say that I agree with either of them, I think that this is going to be an interesting time moving forward, and that there are going to be a multitude of different applications that need different approaches to dealing with them. Hopefully we can stay away from threads as much as possible, because you can get some really nasty bugs with threaded code that are hard to solve.

I think we need a new language to deal with parallel processing, something like Erlang, probably. Our brains, or rather, the brains of programmers who are coding now, don't handle parallel processing very well at all. However, we are bringing up a whole new generation of kids who are getting better and better at parallel processing, and I feel that the answers are going to come from them.

So, all you programmers out there, start teaching your kids Erlang, Lisp, Prolog, and every other crazy language out there that might be useful for parallel programming, one of those kids is going to come up with the right way to do it.

I know it.



I'm using attachment_fu for the Marsyas website. It's great, just not documented that well, but that's par for the course when you're in Ruby on Rails land.


linux kernel walkthrough


Reserved Words in SQL - I just got the big MySQL book by Paul Dubois, and again I'm so glad I got the book in paper format, I have a bunch of books as PDFs, and I really like them as PDFs, but I really appreciate and enjoy books on paper. Nothing like sitting with a paper book on the couch, a cup of tea, and HBR1 Dream Factory tunes.

Right now, I'm listening to HBR1 Dream Factory, and on the laptop I have NASA TV showing me live pictures from STS117.


Magnoliophyta - The flowering plants.

space shuttle launches

Some very nice pictures of the recent STS-117 launch.

Thursday, June 07, 2007

butterfly colour palettes

This one is really neat, someone took a bunch of pictures of butterflys and turned them into colour palettes. Some really nice palettes there.

windows and linux

I'm just not sure how all you poor people can live inside of Windows all the time. Linux is just so much sweeter, especially in the long run, after you get it setup, it just works, and doesn't change under you all the time. Every few months I add another tool to my Linux mix, and I can learn it at my leisure, because I know that I have the source code, so I can keep using it for as long as I want, it's not going to be changed from underneath me, like in Windows or Mac OSX.

I think that as time goes on, and the young people who are learning computers start to get tired of relearning all their fundamental tools every few years, more and more people will start looking for 100-year tools, like Emacs and Linux.

Wednesday, June 06, 2007

liveapi is so cool, it's a couple guys who figured out how to hack into the Ableton Live API through some system calls, so now you can write Python programs and hook into Ableton Live.

I'm a huge fan of Ableton Live, I've never really found a music producing system that felt right, and Ableton Live feels right. The only problem is that it isn't GPLed. Other than that, it's the best DJ and music production system out there.



The MESSENGER spacecraft just flew by Venus on it's way to Mercury and did some exciting science.

Tuesday, June 05, 2007

sushi yum

A great article about sushi in Japan.

garden yum

Creamy Garden Bisque... Sounds yummy.

From Jena.