Jay McGavren's Journal

2010-11-12

RubyOnAcid: More fun with enhanced CombinationFactory...

This time, hooked up to Ruby-Processing. I should have logged the factories assigned to each attribute, but didn’t, so the titles are my best guesses as to how they were generated.

color channel on LoopFactorySineFactory plus... what?the random stache

Lissajous plus RoundingSine x, Sine2 y, Loop redLissajousFactory

Factories chosen are still completely random, so I’m throwing away ten times as many images as I’m keeping. I bet the really mind-blowing stuff will happen when I add a genetic algorithm.

Read more...
2010-11-10

RubyOnAcid: CombinationFactory::REBOUND...

Added a simple constraint type to CombinationFactory that causes values to “bounce” off of the upper and lower bounds:

-0.2 -> 0.2
-0.1 -> 0.1
0.0 -> 0.0
0.1 -> 0.1
0.2 -> 0.2
...
0.9 -> 0.9
1.0 -> 1.0
1.1 -> 0.9
1.2 -> 0.8
...
1.9 -> 0.1
2.0 -> 0.0
2.1 -> 0.1

So when scaled to screen dimensions, for example, x and y coordinates can seem to “rebound” off the edges of the screen, or an object can “bounce” back and forth between two colors, or minimum and maximum sizes. The SineFactory did some of this before, but this gives an abrupt reversal of direction instead of a smooth curve (and sometimes the former looks cooler).

Also, I had the ExampleFactory randomly choose an operation and a constraint mode for its component CombinationFactory. Since it only used the defaults before, and since it seems I never use any functionality that isn’t wrapped up in the ExampleFactory, these rather cool features were woefully under-utilized. This should fix that.

Here’s a few sample SVG files, generated with the updated ExampleFactory:

2010-11-09_232353.svg

2010-11-09_232419.svg

2010-11-09_232816.svg

2010-11-10_011839.svg

Read more...
2010-11-05

This is cheating at live-coding - I just replayed my re-do buffer in TextMate. I figured the result would be interesting if I ever want to go back and analyze my technique, though.

Train of Thought

Read more...
2010-10-15

My mountain.rb talk on Ruboto (Ruby for Android phones) is out!

Published by Confreaks, LLC under a Creative Commons Attribution Share-Alike license.

Read more...
2010-09-26

Software patents suck. A lot.

At the behest of the Free Software Foundation, I just fired off an e-mail to the USPTO:

Subject: Software patents limit the scope of my career!

From: Jay McGavren

To: Bilski_Guidance@ .gov

Cc: licensing@ .org

To whom it may concern:

I have countless ideas for new software that I would like to implement. I would love to go into business for myself, to publish new, novel, and useful software. Maybe I’d make a little money in the process, but mostly what I want is a place in the hearts and minds of devoted users, who benefit from my designs every day.

But every time I come up with a new idea, I stop myself. I do a quick mental check of the underlying technologies I would need to build on top of. Basic ones, ones we all take for granted. And almost every time, one of those basic technologies is currently in litigation over some overly broad patent, often a patent issued despite obviousness or the existence of prior art. And I drop my idea, because I’m not willing to risk my career and my family’s future on a venture that can be shot down at any moment by a huge corporation’s legal team.

…That part was from the heart. And then, not sure of the finer points of Bilski v. Kappos, I pretty much plagiarized their talking points for the rest.

Rulings from the Supreme Court of the United States have never validated the patentability of software. Bilski v. Kappos shows that the historic interpretation of patent eligibility is far too broad. The machine-or-transformation test is not suitable as the sole basis for determining patent eligibility. Software consists of mathematical computations, and combining software with a general-purpose computer is obvious. As such, software should never be considered patentable.

Sincerely,

Jay McGavren

Mesa, AZ

I actually don’t favor completely eliminating software patents. But the current system is broken, and frankly, it has developers everywhere shackled. If my options are to keep it as-is or throw it away altogether, I’ll choose the latter.

Read more...