Friday, February 29, 2008

Thursday, February 28, 2008

8bit



mack




mack is a Ruby web framework written with Rack.



sqs



yui gc




yui grids gc 2/3 and 1/3 divisions, it's what I'm using today.



mercury






Mysterious craters found on Mercury on the recent Messenger flyby.


Wednesday, February 27, 2008

autism



hotwired






Jeffrey Veen remembers HotWired.



slow life




The Slow Life - A short story about a visit to Saturn's moon Titan.



MIR




MIR - Music Information Retrieval - At wikipedia
music-ir.org: Virtual home of music information retrieval research
Tools used in MIR - Marsyas, yay!
MIR Titles


planet mnemomic




My Very Exciting Magic Carpet Just Sailed Under Nine Palace Elephants is the new winner of the mnemonic contest to remember the planets and dwarf planets:

Mercury, Venus, Earth, Mars, Ceres, Jupiter, Saturn, Uranus, Neptune, Pluto and Eris.




mysql gem on fedora 8




I was trying to install the mysql Ruby gem on Fedora 8 and got the following error message:


root.devi 38 [/usr/lib/ruby/gems/1.8/gems/mysql-2.7] % gem install mysql
gem install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out


Looking in mkmf.log, I found the following at the top:


find_library: checking for mysql_query() in -lmysqlclient... -------------------- no


I found the solution on a post on rubyforums.com, which was to symlink the mysql lib directory to /usr/local/lib, like this:


ln -s /usr/lib/mysql/ /usr/local/lib/mysql



Tuesday, February 26, 2008

ruby http



barcelona




Barcelona Food Girl has an delicious new post about the food that Nuns cook in Spain. Mmmm.



prozac




A new study reports that Prozac and other SSRIs don't work, or rather, work as well as a placebo sugar pill.




Air




Adobe Air has just been released.



ternary




I'm learning to be a fan of the ternary operator.


condition ? if_true : if_false


If "condition" evaluates as true, return "if_true", otherwise, return "if_false".

I never used this in C, it just didn't feel right, but in Ruby on Rails views, it can really simplify things. I'm learning to like it.


s3



Monday, February 25, 2008

ecmascript 4.0




What's new in ECMAScript 4.0.

But I'm going to use haXe instead, and just compile it down to ECMAScript 4.

If you haven't tried haXe, you should, it rocks.



GADT




Foundations for Structured Programming with GADTs. GADTs are Generalized Algebraic Data Types and they allow data constructors to return types of values other than the original type they were given.



rr




RR (Double Ruby) is a test double framework that features a rich selection of double techniques and a terse syntax.



chem mime types




Chemical MIME Types, with examples - The one I want is:


chemical/x-pdb


Interestingly, and strangely enough, the .pdb file extension maps to a Palm format. I'll need to set the mime type by hand.


s3 at 37signals



sqs info



SQS migrate



vla






Tuning the VLA (Very Large Array) to be more sensitive by linking the telescopes together with fibre-optics.



air




Adobe Blurs Line Between PC and Web - This new Adobe Air technology sounds pretty cool. Just like AJAX changed a lot of things in the past two years, I think tech like Air is going to be big in the next couple years.

I love web applications, but in a lot of cases, I really miss having the application live on my own computer too. If we could merge the goodness of web applications with the ease and speed of running applications on my own computer, that would rock.



Sunday, February 24, 2008

amazon sqs book



rails non-hanging



rails scales




Scaling Rails to 300 million pageviews per month. This is for the "Friends for Sale" application on Facebook that I see all the time in Facebook friends updates.



substruct




substruct is a really cool new looking e-commerce engine for Rails. I'm going to do a shopping cart website for a friend in the near future, and I'm going to try out substruct for it.



ulysses






The Ulysses spacecraft, after completing three passes around the sun, and going out as far as Jupiter, is finally succumbing to the freezing cold depths of space.

It did some great work out there, on it's orbit that was outside the orbital plane of the planets, observing the North and South poles of the sun.



sqs




After investigating the ReliableMessaging Ruby gem, and having big issues with a namespace conflict where they call their main object "Queue", and this conflicts with Ruby's core "Queue" object, I've decided to do the right thing and use SQS for Ruby with Amazon's SQS (Simple Queuing System). I had great success with S3, and I've decided to try SQS for this current project I'm working on.



the sun today








lunar






how the sky changes colour through a lunar eclipse, the stars just pop out.



candle



Saturday, February 23, 2008

ReliableMessaging




ReliableMessaging - provides reliable messaging and persistent queues for building asynchronous applications in Ruby.





command of the moment




rsync -av -P --exclude "*.txt" n:./streams .


I am using this to download a directory that I'm streaming from hbr1.com with streamripper to my server. I do this because then I can save them some bandwidth by having a local copy.

This rsync command shows the progress of your download, and excludes the .txt files that I use to keep track of the progress.

The streamripper command I use is:


streamripper http://radio.hbr1.com:19800/ambient.ogg >& h.txt &


stretch




stretchtext - Uses CSS to make a paper longer or shorter at your request. Neat.



cssdoc




CSSDOC - Documentation for CSS. Nice.



Friday, February 22, 2008

convert




converting avi files to dvd with mencoder. it's tricky.



tuscany






I'm watching Under the Tuscan Sun right now, and I'm really enjoying it. I want to read the book next, and I heard from my friend Jena that the book and the movie are almost completely different, so it be fun to see the similarities and differences.

Ah, watching that movie reminds me of the time I spent in Siena and Florence. That was a magical time.

I stayed at an old converted monastery, way up in the Tuscan hills outside of Siena, with ancient vinyards all around it. Amazing.



test your code








css tech



Thursday, February 21, 2008

capistrano version 2




I got a bit of a shock last night when I was trying to deploy a Ruby on Rails with Capistrano last night, my recipe stopped working. It turns out that I had inadvertently upgraded to Capistrano 2 when updating my gems. There are a few gotchas, I ran into these.

Fortunately, they don't look hard to solve, and Capistrano 2 looks pretty sweet.



lunar eclipse






It was a very nice lunar eclipse last night, I saw the first part and the last part, the middle was unfortunately obscured by clouds.



Wednesday, February 20, 2008

root




Calculate square roots with paper and a pencil. Neato!



realtek alc888



devi








titan



functional



talk - action = 0



useful tail command




When you're tailing a logfile on Linux with "tail -f", the system might rename the file with a cronjob, so for long running tail jobs, you can use the --retry and --follow=name options to instruct tail to keep checking to see if the file is still current:


tail --follow=name --retry -f xferlog messages secure




light



lunar eclipse






A very interesting long exposure of a lunar eclipse, notice the deep red colour in the middle there, that is what you will see tonight during the total lunar eclipse.




Tuesday, February 19, 2008

indoor garden



A friend and I were talking today about growing a herb garden in a limited space, and lifehacker came in and told me about Save Money with an Indoor One-Pot Herb Garden. I'm going to miss my big garden this year, so maybe I'll have to grow some plants indoors.


managing feature creep




Eight Tips on How to Manage Feature Creep. Some great tips in there.



salt




SALT - Semantically Annotated LaTeX

Interesting idea.



git push



lunar eclipse




There is going to be a total lunar eclipse on Wednesday evening, February 20th.



Monday, February 18, 2008

git




Ok, I just watched the video of Linus Torvalds at Google talking about git, and I really need to learn git:

git tutorial
git guide
git and emacs - The package is vc-git.el, and looks like it's in emacs23.



water rocket



rails-undo-redo




rails-undo-redo is a really interesting Rails plugin for implementing multi-level undo and redo.



rake backup




A Rake Task for Database Backups. Interesting, but I'm going to write one with ar_fixtures because those YAML files are much easier for humans to understand.

My plan is to write a rake task that I can use in all my Ruby on Rails projects, back up their data to yml to a local directory, then copy that back home with cron, and then put the whole directory in subversion. That way, I can checkpoint all my databases back to any date I like.

I'll let you know how it goes.



intel celeron 420



mmm 3.0GHz



merb-core rack




So merb-core is built on rack you say? Why should I care?

Wow, rack with merb is really powerful, I should try to use it for a project so I can learn it better.



rake




err.the.blog has some great rake tips with rake around the rosie.

I'm really into the chaining of rake tasks now, I'm working on eliminating a bunch of shell scripts with some simpler rake tasks.

You see, I really liked "make", and I didn't like it that the Rails folks just replaced "make" with "rake", but the last two days have convinced me that rake rocks.



rake zsh




The completed code for fast rake task completion for zsh on Linux (Fedora 7) with coreutils-5.2.1 is:


function _rake_does_task_list_need_generating () {
if [ ! -f .rake_tasks ]; then
return 0;
else
accurate=$(stat -c%m .rake_tasks)
changed=$(stat -c%m Rakefile)
return $(expr $accurate '>=' $changed)
fi
}

function _rake () {
if [ -f Rakefile ]; then
if _rake_does_task_list_need_generating; then
echo "\nGenerating .rake_tasks..." > /dev/stderr
rake --silent --tasks | cut -d " " -f 2 > .rake_tasks
fi
reply=( `cat .rake_tasks` )
fi
}

compctl -K _rake rake


Save this as a file (I put mine in my ~/bin directory) and source it with:


. ~/bin/zsh-rake-fast-completion



rake zsh




Fast Rake Task Completion for Zsh. Neat! It's not working for me yet, I need to do some hacking on it.



rake




Railsenvy.com has an excellent tutorial on writing rake tasks.

Martin Folwer gives us Using the Rake Build Language

one, step, back tells us how to Custom Rake Applications.


DVMT




DVMT - Dynamic Video Memory Technology (DVMT) - How much video memory do I have?



SATA linux



SATA



Sunday, February 17, 2008

mapskreig




A neat new mashup of Google Maps and Craigslist is mapskrieg, this will really help with my apartment hunt in Victoria.



extrema




Extrema - is a powerful visualization and data analysis tool that enables researchers to quickly distill their large, complex data sets into meaningful information.



linux network card speed




The commands to find the speed of your network card in linux:


mii-tool -v eth0


and


ethtool eth0






SUN RA - Live - Keyboard Solo (1980)

wow. this just made my day.

devi








WoW



sweet adeline




My Grandma wanted to find the chords for Sweet Adeline, and unlike my earlier successes, it proved quite hard to find. I finally found some sheet music for the four piece vocal part, from the CPDL wiki, and also found the piano sheet music.



Saturday, February 16, 2008

povray 512 bytes






The winners of the povray short code contest have been released. Beautiful pictures in just 512 bytes or less. Sweet.


gpl 3




The FSF releases the latest draft of the GPL 3 licence. Cool.



yahoo goes platnium



google farm




Mmm, the big google farm at the Dalles, Oregon, with blueprints. Located near the Columbia River for cheap electricity.

That's so cool.



Thursday, February 14, 2008

many eyes




I just recently was listening to a great podcast from the developers of Many Eyes, a website where people can put up data and the community will work on interesting ways to visualize that data.

Wow. That is so amazingly cool.

I have to do this with the data I get from the Orchive.



5M




strangemaps gets it's 5,000,000th hit. It's a really neat blog, with strange maps from history.



allout




AllOut mode in Emacs. I'm going to use it to try to better organize my Planner plans.

I love planner-mode in Emacs, it rocks so hard.



pomo



grit




grit is a Ruby library to get information out of a git repository in an object oriented fashion. Neato!



Wednesday, February 13, 2008

icon design



space smell




space has a smell, which is described as a rather pleasant sweet metallic sensation, like welding fumes.



Monday, February 11, 2008

cold!




When I was born, it was -43.3C. That's cold!



Sunday, February 10, 2008

xml is 10




XML is 10 years old today. It's still an idea ahead of it's time, it's going through the phase now where the haters are all on it, but just wait another 10 years, and it'll be cool again.

I did a whole bunch of work adding XML to various crystallography programs, some of them in the CCP4 suite, and I'm hoping that in the future it will help some young programmer do something cool.

By the way, I've decided I don't have time to write struture cloud, I have some preliminary Ruby on Rails code written for it, if anyone is interested, just email me, it's all GPLed of course. It was going to be really cool, with a Ruby on Rails interface to all the crystallographic programs, jobs would be submitted to Amazon SQS, and then Amazon EC2 nodes would process the data by looking at the jobs in the SQS queue, and the results would be stored on Amazon S3.

It would be perfect for a researcher just starting out, someone who doesn't have a large computational infrastructure, they could go to a beamline and collect all their data, and then process it all on 100 computers at once.

It was going to be cool, but I've got other fish to fry now.


arc core




Paul Graham writes about the core of Arc. I have fun learning bits of elisp here and there, and Arc is another kind of Lisp that looks pretty cool.



fluro



waves








kirk




Genius doesn't work on an assembly line basis. You can't simply say, "Today I will be brilliant."

-- Kirk, "The Ultimate Computer", stardate 4731.3



math and music




Using algorithms to restore the only known live recording of Woodie Guthrie. A fascinating article.



cppspec




BDD with C++. Very interesting.



functional




Ten Years of Purely Functional Data Structures - A blog post about the book Purely Functional Data Structures.




Saturday, February 09, 2008

backup blogspot




I just read a google horror story about how this guy got his gmail account phished and lost his email, blogs and all other google things.

I use gmail, but I forward my mail from my domain to gmail and keep a copy on my server.

I also just backed up my blogger blog with the command:


wget 'http://sness.blogspot.com/search?max-results=100000'




phantasmagoria




I learned a new word today:

phantasmagoria [fan-taz-muh-gawr-ee-uh, -gohr-]

noun

1.a shifting series of phantasms, illusions, or deceptive appearances, as in a dream or as created by the imagination.

2.a changing scene made up of many elements.

3.an optical illusion produced by a magic lantern or the like in which figures increase or diminish in size, pass into each other, dissolve, etc.

assembly, gathering; see -ia][Origin: 1795-1805; F fantasmagorie, compound based on fantasme phantasm; second element perh. repr. Gk agor



Friday, February 08, 2008

get fit




17 Fitness Truths To Get You In Great Shape. Some great tips here. One really important one that I found worked for me was:

12. Focus on your diet first.

This is so essential, working out is really important, it is what gives me so much clarity and makes me feel so good, but to lose weight, you have to eat less. You just don't burn that many calories at the gym, so I've reduced the amount of food I eat by a lot, and have given up the foods that I was addicted to, like chips. It's hard, I know, but believe me, it is so much more fun to be in good shape than eating snacks that you won't miss those treats at all.




spirograph



impossibl




Clarke's Second Law

The only way of discovering the limits of the possible is to venture a little way past them into the impossible.




immutable



map/reduce in CouchDB



perl 2038




Perl is now year 2038 ready. Nice.



cleaning pc



speeding up nfs



Thursday, February 07, 2008

firefox




If you want to downgrade your firefox for some reason, you can get any version at the firefox releases page.



turtle








the repairman




The Repairman By Harry Harrison - A good little short story.



pistachio penne




Penne With Pistachios, Asparagus, and Cream. mmm, sounds delicious. From my friend Jena.



guitar rising




Guitar Rising brings some of the elements of Guitar Hero into learning to play an actual guitar. Great idea.



carbon icons






Carbon multimedia icons from stockicons.com.


aquatica icons






Some very pretty icons from the Aquatica collection from stockicons.com.



Wednesday, February 06, 2008

embedding fonts




[haXe] Embedded fonts in Flash 9 target?

After watching the Helvetica Movie, I'm thinking about fonts a lot, and it's really cool that Flash lets you embed whatever font you like right in the file.

I'm really digging Flash lately, it has a lot of power. It's awesome writing it with haXe, because I get all the goodness of Linux and GPLed code, but still get to write some very powerful display applications.

The language count is going up and up, for my new project I'm going to be writing code in:

haXe
Actionscript 3.0
Flash
swfmill XML
C++
Ruby (on Rails)
MySQL
XHTML/CSS


Sweeeeeet!



snow crystals








embed bitmap in haxe




I wanted to use swfmill to generate a library of images and then display them in haXe. Krzysztof Rozalski came up with a solution on the haXe mailing list. Thanks Christopher, this was really helpful!

The code I wrote ended up looking like:

swflib.xml:


<?xml version="1.0" encoding="iso-8859-1" ?>
<movie version="9" width="320" height="240" framerate="12">
<background color="#ffffff"/>
<frame>
<library>
<bitmap id="MyBitmapData" name="MyBitmapData" import="library/play.png" />
</library>
</frame>
</movie>


And the haXe code:


import flash.display.BitmapData;

class MyBitmapData extends BitmapData
{
public function new()
{
super(0,0);
}
}

class SwfImport
{

static function main ()
{
var bitmapData:BitmapData;
bitmapData = new MyBitmapData();
flash.Lib.current.addChild( new flash.display.Bitmap(
bitmapData, flash.display.PixelSnapping.AUTO, true ) );
}
}


This is all compiled with:


-main SwfImport
-swf ../swfimport.swf
-swf-version 9
-swf-lib swflib.swf





pathways




biochemical pathways - It's grown since I studied this back in undergrad.



bluegene web




Wow, the IBM Blue/Gene architecture is pretty amazing, with 1024 processors per rack and theoretically up to 16,384 racks, giving you 67.1m cores with 32PB of memory.

They're using this architecture to build their own model of the internet.



earth








iswitchb and rails




I'm learning about Icicles, which is an Emacs mode to more efficiently complete text and switch between buffers.

I've been a big fan of iswitchb since switching to it about 5 years ago, but it's being stretched with these Ruby on Rails projects that I'm working on. Rails requires you to switch back and forth between large numbers of files. I have 12 Emacs windows open, and have different source files in each one, yet I still find myself doing a lot of switching between buffers.



Tuesday, February 05, 2008

calling from the coast




callingfromthecoast.com is a website that has videos about interesting topics from the west coast of Canada. Very neat.



offspring




offspring.js is an interesting little javascript program that adds things like "nth-child" by iterating over the DOM.

It does slow down your site a bit, because it has to iterate over all the elements in the dom, but in most cases, this is less than 500ms, so not so bad.



ipv6



dock




Cairo-Dock: An Animated Launch Bar for Compiz.




Sunday, February 03, 2008

Friday, February 01, 2008

rev




rev is an interesting new event handling library for Ruby, written in C for raw speed. Looks interesting.



couchdb catchup

freeze



Troika - 'Cloud' - digital sculpture for British Airways