Tiny Candy Hammers
Parasol: A GLSL shader development/learning tool

I ordered the GLSL Shader book recently and started looking for a tool to test out shaders on linux. I couldn’t find anything that I wanted to use so I started my own called Parasol.

Parasol is a very minimalistic tool for helping me quickly test out shaders while learning GLSL. Parasol itself just displays a single window with the utah teapot with settings specified in the config file. It watches three files: a config file, a vertex shader, and a fragment shader and when one of these files changes it will reload the file and apply the changes to the view. I plan on expanding this as I need to while learning. I’ll probably need some way to specify uniform variables for input into the shaders so that may be next. I plan on putting it on github soon.

Permalink & Comments
Status report


I am very pleased with how productive I have been this week, however I didn’t do exactly what I mentioned in the previous post. I only worked on Block Composer and I had a lot of fun doing so. What I did this week:

However, I’ve still got some bugs to work out before the next release. I’d like to get a release out by next Saturday.

Permalink & Comments
Plan for the week

I have found being productive while self-employed challenging. I plan on working for at least eight hours each day Monday-Friday. The goal of this post is to keep myself accountable by having my performance publicly viewable so if I fail it will be embarrassing. At the end of the week I will post again to report on how I did. I will outline some of my projects below and what I will be working on during the week.

My current projects and their statuses

Permalink & Comments
Script for activation of plain text

I often run into web links that are plain text and eventually got annoyed enough to write this extremely simple script. It works by using xclip to grab what you have highlighted and if the contents look like an http address it will open in your browser of choice. As a bonus, if it doesn’t look like an http address it will open up google maps and attempt to map the contents. It should be obvious that this can easily be extended to suit other purposes.

#!/usr/bin/ruby

x = `xclip -o`

if x =~ /^[ \t]*https?:\/\/.*/ # Goto web address
	`gnome-open #{x}`
else # Map location
	`gnome-open http://maps.google.com/?q=#{x.gsub(/[ \t\n]+/, '+')}`
end

In order to install the script, copy the script above and save as $HOME/bin/controlshiftz.rb and make it executable. To bind it to a key combination in gnome use the following two commands. By default this will cause control-shift-z to activate the script. You will also need to install the xclip package.

gconftool-2 -s /apps/metacity/keybinding_commands/command_1 -t string $HOME/bin/controlshiftz.rb
gconftool-2 -s /apps/metacity/global_keybindings/run_command_1 -t string '<Control><Shift>z'

If you extend the script in an interesting way, comment or send me an email about it.

Permalink & Comments