Monday, April 30, 2007

Still Standing




This is really neat Sophi Hicken is a photographer who has published two books, Still Standing #1 and #2, with pictures of the grain elevators of Alberta. I remember the grain elevators on the praries so fondly, it's so sad they're gone.


just planted out my garden!




I've been starting all my little plants in the greenhouse, and just planted them out in the garden this weekend. Pretty neat, eh?

I find that this is such a nice lifestyle for me, working for myself up here on the edge of civilization. I can work on amazing complex computer programs on my great linux setup, and then when I get to an impasse, in just a few steps I'm out in my garden. I like to get to a point in my programming where I'm temporarily stuck, then go and work in the garden thinking about the problem. Often, I come up with much better solutions when I'm doing this than if I would just hammer it even harder on the computer.


Sunday, April 29, 2007

masks and illustrator cs2




I'm trying to figure out how to use masks in Adobe Illustrator C2 so that I can select only part of an image to do my slicing within.



Friday, April 27, 2007

Rush




Rush Drum Tablature. Mmm, sweet. I used to have the big Rush drum sheets with all the songs, I think I still have it somewhere. Many many hours playing along to that music there.


pi




I was just watching pi again. What a great movie. Makes me a little intense though...


HOF




A HOF or Higher-Order Function is a function that generates other functions. Very neato. I'm having a lot of fun learning Lisp, with the coding I'm doing in Lisp, Perl and Ruby, I really see how Ruby is kind of like Lisp + Perl. Ruby is such a fascinating language, and it also looks so pretty to code.


Thursday, April 26, 2007

hacketyhack




why the lucky stiff continues to amaze us, now with hacketyhack a way for people, especially kids, to learn programming. this should be included on the olpc (one laptop per child) laptop.


Compressing Javascript




jscsscomp is a PHP version of the packer program which has PHP, Perl, WSH and .NET versions. Neato, I think that this might be a good thing to add to my deployments with Capistrano. I would also add a comment at the top of the file with a link to the original source of the file.


list-colors-display




Sweet, since I moved to rxvt-unicode, I've had access to 88 colors, up from 8 when using gnome-terminal. I just found the following command to list the colors I have access to in my "emacs -nw" terminals:


M-x list-colors-display



Matrix Emacs




I was watching Matrix Reloaded last night again:


alias dvd='m dvd://1 -dvd-device /dev/hdc -alang en'


And I just couldn't help but think of new ways to interact with information on the computer. I was thinking of an Emacs where you could interact with code in multiple dimensions. I use Ruby on Rails a lot, and it seems to me that there are all these interconnections between different levels of the code that interact together just like those atoms, fractals and gears on the Matrix Reloaded trailer.

Imagine a system where you could easily move between those different levels of abstraction just by using your mousewheel? With one flick you are looking at your entire codebase, zoom in a little to see a controller or model, zoom in more and you can look at the Ruby code that those models call.

And then, overlay on that the actual visitors to your website, viewing bottlenecks and performance problems just like they were problems with actual gears.

Somehow, someday, this will be natural. We, as humans, have all this excellent brain functionality to help us deal with the real world, we will integrate this more into our programming tools, making coding more engaging, more productive and more fun.


Wednesday, April 25, 2007

Capistrano 2.0 yumminess



Mmmm, Capistrano 2.0 was just released, and it looks sweet.

I use Capistrano for all my web deployment, whether it be small static sites or big Rails dynamic sites, and it's so cool.

One thing that I'm starting to get into for static sites is to have Capistrano automatically FTP the content up to my clients site, this way I only have to remember "cap deploy" for all my projects. I'm doing all my static sites within Ruby on Rails, caching the content, spidering the site with pavuk, and then FTPing the resulting HTML files up to my clients site. That works really well.

XML pervades the web



XML becomes pervasive on the web. I think it's great that a lot of web APIs support both REST and SOAP, there are some situations where I use REST and some where I use SOAP, and being able to use both is great.

This is like Amazon's S3 interface, they have both REST and SOAP APIs. It looks like more people use the REST API, and I use it myself, mostly, but I'm building a new tool for protein structure exploration that will use both, and I'm glad I have the choice.

It's all about the freedom to choose.

Space Cadet 4000




I love my Microsoft Natural 4000 Keyboard and soon I'm going to be patching my kernel to get all those extra funky keys working.

One thing I didn't like was those labels on the function keys, so one particularily obsessive morning, I sanded down all the labels. Ahhh, much better. Now I have them bound to the following keys in Emacs:


;;
;; Function keys
;;
(global-set-key [f1] 'help)
(global-set-key [f2] 'auto-fill-mode)
(global-set-key [f3] 'kmacro-start-macro-or-insert-counter)
(global-set-key [f4] 'kmacro-end-or-call-macro)
(global-set-key [f5] 'gblogger-new-entry-sness)
(global-set-key [f6] 'planner-create-task-from-buffer)
(global-set-key [f7] 'planner-task-in-progress)
(global-set-key [f8] 'planner-task-done)
(global-set-key [f11] 'compile)
(global-set-key [f12] 'recompile)


I've always been a fan of the Space Cadet Keyboard, and I'm thinking that it would be really cool to change the windows "Start" key to "Super" and the Caps Lock key to "Hyper". Mmmm, that just makes me happy thinking of that.

I wonder if there's a good way to put labels onto keys? Perhaps those dry transfer labels? I wonder if there are some with "Super" and "Hyper" on them...



Wired interview with Eric Schmidt




A really good interview with Eric Schmidt, CEO of Google.

Lots of good points, mostly centering around the idea of search and advertising as central to Google's strategy.


Tuesday, April 24, 2007

Playing DVDs under Linux




I used to use ogle for watching DVDs with Linux, but I just found that I could also use mplayer, and since I'm getting familar with the mplayer source code, it's probably a better solution:


alias dvd='m dvd://1 -dvd-device /dev/hdc -alang en'



Cool path splitter in Perl



Oh, this one is so neat: A little Perl regexp to get the path and filename from a string:


my($text) = "/etc/sysconfig/network-scripts/ifcfg-eth0";
my($directory, $filename) = $text =~ m/(.*\/)(.*)$/;
print "D=$directory, F=$filename\n";



cmdbioscience



Neato, CMD Bioscience, one of the companies that I'm consulting for, just launched their website. It's been a really interesting project, I did a bunch of work transforming their Perl code for Affinity into production code, and now I'm working on doing the same for Transcend.

They have some interesting ideas for how to score target/ligand dockings for proteins and peptides, these ideas are in Affinity. Transcend is their program to improve protein/protein and protein/peptide dockings.

It's been interesting to get back into Perl, during the day I work in a whole range of languages, Perl, Ruby, Javascript, Lisp and C. I love seeing the similarities and differences between these languages. Perl and Ruby have a lot in common, Ruby took a lot of it's syntax from Perl, and this makes Ruby a nice language to get things done quickly, maybe not so quickly as Perl, but still quite quickly.

coda - integrated web design environment




Coda is an integrated design environment for the web. It looks quite pretty. It has some interesting ideas that I'm going to work on integrating into Emacs. Emacs + Firefox + Firebug is my environment for building websites, it's a really sweet environment to develop inside of, and I'm always looking for enhancements.

Mozex + Firefox + Emacs = Bliss




Got some more funky integration going on with blogger. I'm really loving that integration with Firefox and Emacs with Mozdev that I have, I just have to press C-M-e inside a textbox on Firefox and it creates a new mozex buffer on Emacs.

This is really sweet when I'm editting my blogger templates, it used to be a real pain, you have to download them, open them in Emacs, save them, and re-upload them. Now, I just type C-M-e, and there they are, ready for editting in Emacs. When I save them in Emacs, the contents of the textarea on the blogger form are updated automatically. Sweet.

Also, view source is totally sweet now as well, I just type C-M-u inside Firefox and I can view the source inside Emacs.

Monday, April 23, 2007

SES - Simple Emacs Spreadsheet



I'm learning SES - Simple Emacs Spreadsheet. It looks really neato.