Jay McGavren's Journal

2009-10-08

Ruby on Acid, continued...

Came up with an elaborate setup to step through all the permutations of an array of generators, and was getting so much repetition that I switched back to picking randomly. :P Dropped the increment and skip generators from the pool for this run because, frankly, they tended to make things ugly. I have a couple plans to “mute” or otherwise influence their effects, though, so I may be using them further in the future.

A YAML dump of the generators is embedded in each picture, so if you squint you can read what went into each.

00006_random.jpg00046_random.jpg00064_random.jpg00069_random.jpg00113_random.jpg00121_random.jpg00147_random.jpg00170_random.jpg00180_random.jpg

Read more...
2009-10-03

MetaGenerator...

I’m getting an insane amount of variety out of very little code.

picture-39.pngpicture-38.pngpicture-37.png

picture-36.pngpicture-34.png

require 'rubygems'
require 'wx'
require 'rubyonacid/factories/meta'
require 'rubyonacid/factories/flash'
require 'rubyonacid/factories/increment'
require 'rubyonacid/factories/loop'
require 'rubyonacid/factories/random'
require 'rubyonacid/factories/sine'
require 'rubyonacid/factories/skip'



class MyApp < Wx::App

  WIDTH = 480
  HEIGHT = 480

  def on_init
 
    @f = RubyOnAcid::MetaFactory.new
    @f.factories << RubyOnAcid::FlashFactory.new
    @f.factories << RubyOnAcid::LoopFactory.new
    @f.factories << RubyOnAcid::RandomFactory.new
    @f.factories << RubyOnAcid::SineFactory.new
    @f.factories << RubyOnAcid::SkipFactory.new
    
    @resetter = RubyOnAcid::SkipFactory.new(0.999)
    
    #Containing frame.
    frame = Wx::Frame.new(nil, :size => [WIDTH, HEIGHT])
    frame.show
 
    #Displays drawing.
    window = Wx::Window.new(frame, :size => [WIDTH, HEIGHT])
 
    #Animate periodically.
    t = Wx::Timer.new(self, 55)
    evt_timer(55) {animate(window)}
    t.start(33)
 
  end
 
  def animate(window)
     window.paint do |surface|
       surface.pen = Wx::Pen.new(
           Wx::Colour.new(
             @f.within(:red, 0, 255).to_i,
             @f.within(:green, 0, 255).to_i,
             @f.within(:blue, 0, 255).to_i,
             @f.within(:alpha, 50, 255).to_i
           ),
           @f.within(:width, 1, 5).to_i
       )
       surface.draw_line(
          @f.within(:x, 0, WIDTH).to_i,
          @f.within(:y, 0, HEIGHT).to_i,
          @f.within(:x2, 0, WIDTH).to_i,
          @f.within(:y2, 0, HEIGHT).to_i
       )
     end
     @f.reset_assignments if @resetter.boolean(:reset)
  end

end

app = MyApp.new
app.main_loop

Read more...
2009-09-30

Guess I'm freaking amazing, then...

We are all motivated by a keen desire for praise, and the better a man is, the more he is inspired to glory.

-Cicero

Read more...
2009-09-19

Yeah, suck it, Kafka!

picture-23.png

Read more...
2009-09-19

Oh, for Pete's sake...

This is what my evening has been like…

Spec::Mocks::MockExpectationError in 'ResourceManager#load_resources with global assets loads gif files'
# expected :cache_image with (:test, "test/data/loads_png/test.png")
but received it with (:gif, "test/daUnknown type of file: test/data/state_specific/.DS_Store
Unknown type of file: test/data/state_and_global/.DS_Store
ta/loads_gif/gif.gif")
./src/managers/resource_manager.rb:19:in `load_resources'
./src/managers/resource_manager.rb:11:in `each'
./src/managers/resource_manager.rb:11:in `load_resources'
test/unit/managers/resource_manager_spec.rb:38:

Grumble, grumble… fix

Spec::Mocks::MockExpectationError in 'ResourceManager#load_resources with global assets loads gif files'
# expected :cache_image with (:test, "test/data/loads_gif/test.gif")
but received it with (:gif, "test/data/loads_gif/gif.gif")

GRUMBLE grumble grumble… fix

Spec::Mocks::MockExpectationError in 'ResourceManager#load_resources with global assets loads gif files'
# expected :cache_image with (:test, "test/data/loads_gif/gif.gif")
but received it with (:gif, "test/data/loads_gif/gif.gif")

#$#@$#@#$#$@$#@$@#!!!!

Read more...