Thursday, January 31, 2008
Wednesday, January 30, 2008
pulsar hologram
Australians make interstellar hologram by modelling the light from a pulsar with 8000 coefficients, they figure out the structure of the interstellar medium between us and the pulsar.
Rhino on Rails
An interview with Steve Yegge on Rhino on Rails, something similar to Ruby on Rails, but with Javascript instead of Ruby.
Tuesday, January 29, 2008
attachment_fu size
If you get the error message
Validation failed: Size is not included in the list
when using attachment_fu with Rails, check to see if your file is perhaps larger than the max_size you have set, it defaults to a fairly low value:
has_attachment :content_type => 'application/pdf',
:max_size => 20.megabytes,
:storage => :file_system
Monday, January 28, 2008
qt
Nokia acquires Trolltech - it sounds like they are going to keep Qt and Qtopia GPLed, which is great.
peter's photos
I just got back in touch with an friend of mine from England, I worked with him with the CCP4 project, his photos are very cool and are at oblong_dog on flickr. I love that nickname!
Sunday, January 27, 2008
Saturday, January 26, 2008
dtach
dtach is a tiny program that does the detaching from terminal part of screen, without the other bits. It sounds like it could be a perfect replacement for my use of screen in running multi-tty-emacs.
Friday, January 25, 2008
functional programming
I was wondering about the exact definition of Functional Programming, and wikipedia gave the following excellent consise definition:
"Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast with the imperative programming style that emphasizes changes in state."
This all comes from the Lamda calculus which was developed by Alonzo Church and Stephen Kleene in the 1930s to investigate functions, as an alternative to the set based investigation into the foundations of mathematics by Bertrand Russell.
Thursday, January 24, 2008
higgs
Is the Higgs Boson hidden in plain sight? An interesting article about how there might be more than one Higgs Boson, and we might have already seen it, just not been aware that we found it.
Wednesday, January 23, 2008
passing variables to Flash
Here is a good tutorial about how to pass variables to Flash applications. This is very timely for me.
alfven waves
Researchers find out why the suns corona is so much hotter than the surface of the sun, it's due to magnetohydrodynamic waves called Alfven waves.
Tuesday, January 22, 2008
flash 9 penetration
I was wondering if I should be targeting Flash 9 with my new Orchive Flash viewers, and I definitely will, Flash 9 has 95.7% market penetration in mature markets.
Interesting to see how fast it got adopted, from March 2007-December 2007 it went from 83.4% to 95.7%.
ColorMatrix in Flash
Flash 8 has a neat feature called ColorMatrixFilter that lets you adjust Contrast, Brightness, Satuation and Hue.
shelf cloud over saskatchewan
Reminds me of growing up in Ryley, Alberta on the Canadian praries. Those storms that we would get in summer would appear on the horizon, brewing and rolling towards us at a great rate of speed. The wind blowing would make the crops of grain look like waves on the ocean.
When the first drops of rain hit your face, you knew you'd better high-tail it back home.
Monday, January 21, 2008
haxe
haXe at actionscript.com
haXe and MySQL
Sweet, I'm starting to see a plan developing for the Orchive, use Ruby on Rails to do the heavy lifting, Rails will write the data to a MySQL database, and haXe will be used to write the code that will both generate the Flash applications on the webpage, plus with mod_neko, will serve out the data for these Flash applications to display.
Rails <--> MySQL <--> mod_neko <--> haXe <--> Flash <--> User <--> Rails
ProtoTimer
Some nice code for a timer in haXe. It makes a timer that can call a function of your choice repeatedly.
Sunday, January 20, 2008
kid lessons
A neat article about what this guy learned about life from his daughter. One that I try to practice is Don't Be Afraid to Show Your Enthusiasm.
design
Khoi Vinh has some very interesting slides about how internet design is about conversations, as opposed to print design which is more like a speech. He says it's all about control of the narrative.
Saturday, January 19, 2008
visualization
An old friend just directed me to an excellent site for visualization of data, check out the Voyages of Moses and Abraham in the Bible. Very nicely done.
palimpsest
Palimsest is a program by Google to provide storage and access of scientific data to scientists.
This is very interesting, I've been involved with a few such projects, including the PDB (Protein Databank), iCE (Internet Contig Explorer) and currently I'm builing the Orchive (a database for 30 years of Orca songs).
Storing scientific data is quite an interesting process, because each scientist has a different view of what should be stored and how they would like to access it. I look forward to seeing what the smart kids at Google are going to come up with.
Friday, January 18, 2008
Thursday, January 17, 2008
flash docs
Documentation for Flash. Yes, that's right, sness is now learning Flash/Actionscript. I've explored all over the AJAX and Javascript worlds, but for this new Orchive project, Javascript just isn't enough, I'm going to have to do the player in Flash.
I'm actually going to try to do most of it with haXe and swfmill and compile it down to Flash, so that I can continue to use GPLed software as much as possible.
Wednesday, January 16, 2008
ruport
The Ruport book has been released. Ruport is a data reporting library in Ruby, and looks really cool, I want to integrate it into two of my big projects.
Tuesday, January 15, 2008
messenger
The Messenger spacecraft has just flown past Mercury on it's first Mercury gravity assist, and has some neat pictures and movies.
I was listening to bluemars as I was watching the video, and by lucky chance they synced perfectly together, it was really neat.
Monday, January 14, 2008
ruby snippet of the evening
I have a really cute little zen stone MP3 player, and everyday I upload podcasts to it to listen to. It plays the directories in sorted order, and I create directories like "0 1 2 3 4 5" for the songs to go into.
I was having to manually rename those directories each night, and I got tired of this, so I came up with the following little Ruby script to do this for me.
#!/usr/bin/ruby
require 'find'
a = Array.new
Dir.entries(".").each do |n|
if (n =~ /([0-9]+)/)
a.push($1)
end
end
a.sort!.reverse!
a.each do |n|
File.rename(n,(n.to_i + 1).to_s)
end
Ruby sure is pretty.
Sunday, January 13, 2008
whale sounds
The sounds produced by Blue Whales have been detected at over 3000km by the SOSUS arrays. I wonder how the sensitivity of the SOSUS array compares to the sensitivity of the Blue Whale ear?
Another good article is Sounds of the Deep Sea.
Saturday, January 12, 2008
Friday, January 11, 2008
haxe
If you get a "Standard library not found" error when trying to compile things with haXe on Linux, you need to copy the entire haxe/std directory to /usr/lib/haxe/std.
I had installed haxe in /usr/sness/haxe, and the libraries in there, but it couldn't find them, they needed to be in /usr/lib/haxe/std. That's kind of bizarre.
haxe
Well, I think I'm a convert, I didn't have much fun with mtasc, and I really don't want to have to buy Flash CS3 just to compile my spectrogram .wav player for the Orchive, so I am going to go with haXe.
haXe projects
NyMPh - mp3 player written with haXe
NyMPh docs
wikipedia entry for haXe
haxe.el
I've been playing around with mtasc and xspf, but I wonder if I might be just better off taking the plunge and going to haXe instead. Here's a haxe-mode.el for Emacs.
open-uri
I'm working on getting two different Rails websites to work together, and ActiveResource is too heavyweight for what I need, so I'm rolling my own interface using YAML and open-uri.
There's a couple good articles about open-uri:
Ruby: Net::Http and open-uri
What's Shiny and New in Ruby 1.8.0?
Data extraction for Web 2.0: Screen scraping in Ruby/Rails
and for YAML:
YAML Cookbook
Thursday, January 10, 2008
briggs-rauscher
Wired just put up an article about the Briggs-Rauscher oscillating chemical reaction. I did my Extended Essay at a UWC about this, it is quite a complicated reaction.
The Belousov-Zhabotinsky Reaction is a similar oscillating chemical reaction.
The trick to both of these is that the reaction isn't a perpetual motion machine, the law of conservation of energy is respected, what is happening is that a large scale reaction is proceeding, and there are some minor sub-reactions that have products that are different colours, these minor reactions have feedback loops to each other, and give the oscillating behaviour that is seen. Very neat.
I studied chaotic behaviour in these systems, when you heat them up, very interesting things happen, and the regular oscillations start to get ahead of themselves and the non-linear behaviour produces a chaotic system, like the well known "butterfly effect".
more sequel
Sequel sure does look interesting. Perhaps I'll use this for the more hardcore aspects of the Orchive.
response_visualizer
Something that is kind of tricky with functional and integration tests in Ruby on Rails is to diagnose problems when your assert_selects don't work. I tried a variety of ways to output the HTML that is generated, but the response_visualizer plugin looks like it might be the way to go.
Wednesday, January 09, 2008
teaching type
teaching type is an interesting new project to teach typographical skills to students.
(Ironically, on this web page they don't set the line height properly, so on my Opera with an increased font size, the lines actually overlap each other.)
redirect_to :back
Interestingly, in some cases, "redirect_to :back" has problems when used in integration tests with Rails. I just found a webpage with some helpful tips, for me, the magic words were:
post_via_redirect '/account/login', {:login => '6044851111', :password => 'bad_password'}, {:referer => "/account/login"}
That extra hash at the end there with the options for :referer is what you need.
merb meet shoes
Shoes + Merb = GUI + WebApp = very neato.
This is going to be a big area in the future: You create a simple website to house your data, most users will use the website to access the data. Power users will use a GUI app on their computer for enhanced use. This is one of my future plans for the Orchive.
Monday, January 07, 2008
Sunday, January 06, 2008
Saturday, January 05, 2008
Ruby pretty_print gotcha
I just ran into a tricky little error message today when trying to just "pp" (pretty print) a variable in Ruby. It took me a little digging, but I found that pp.rb had added a callback that looked for a method called "pretty_print" in my class. The error message looked like:
ArgumentError: wrong number of arguments (1 for 0)
/usr/lib/ruby/1.8/pp.rb:140:in `pretty_print'
with a long stack trace after it.
So, don't call your pretty print routines "pretty_print" if you want to be able to use "pp".
Wednesday, January 02, 2008
uWeb
The micro Web (uWeb) is a way of using Web technology (Javascript, DOM, URIs, HTTP) and good Web architecture, including event-driven servers, to deliver all the essential Web 2.0 functionality (Microformats, tags, POSH, OpenID, user presence, DHTML, Ajax, Comet, REST, Atom, APIs, pub-sub, JSON, widgets, mashups) with a uniform, simple model.
sugary
Application development for the Sugar API for the OLPC. An article at IBM Developer Works.
I can't wait until I have time to do some work on a Sugar application. Something to do with music.
You know, I love Ruby, but I want to get into some Python as well.
Tuesday, January 01, 2008
linux copying with errors
I got a DVD+R burnt that had errors in some of the files. They're .avi files, and I hope that mplayer will be able to handle the I/O errors, which looked like:
cp: reading `/dvd/file.avi': Input/output error
So instead of using "cp" to copy the files I used:
dd if=/dvd/file.avi of=file.avi conv=noerror bs=2048
Hopefully it works.
Subscribe to:
Posts (Atom)