Categories
Generative Art

William Latham Horn

That’s the search string that finally worked. I’ve had two orders for William Latham books via abebooks cancelled since the talk Latham gave last week, and prices on his books have gone up. Thank goodness for the internet.

The original research paper that describes Latham’s IBM system:

http://www.research.ibm.com/journal/sj/284/ibmsj2804M.pdf

An implementation for PS2:

http://www.research.scea.com/research/pdfs/RGREEN_procedural_renderingGDC2001.pdf

A toy Java implementation:

http://www.evolutionzone.com/hardwork/old_form/java/horn.java

And a toy c implementation:

http://nixfiles.com/src/horn

Technorati Tags: ,

Categories
Projects

minara – select tool code

Selection is just about there:

(define (select-mouse-up win button x y)
(let ((selection (pick-path-window win x y)))
(when selection
(if (= button 1)
(set-selection-ranges-var (window-buffer-main win)
      selection)
         (append-selection-ranges-var (window-buffer-main win)
selection)))))

The problem I have now is how to highlight the selection. Minara isn’t meant to do outlining (there are very good reasons for this). I was going to just override the colour on the selection buffer to be translucent red (or something) but I’m worried that will be inefficient. Possibly I can cheat and have an outline-rendering-protocol that is private, but I’m worried if I put hooks in for that people will try to use it in the main buffer. So I think I’ll have to take the inefficient but correct route, which seems to be the unofficial minara motto.

Technorati Tags:

Categories
Aesthetics Projects

Artists Interview Artists: Rob Myers

Thinking About Art: Artists Interview Artists: Rob Myers

Rob Myers, an artist from Peterborough, England, participates in the Artists Interview Artists Project. Below Rob responds to another artist’s five questions (William Andrews from Starkville, MS). In order to participate, Rob had to provide me with five questions for some other artist to answer. The assigning of questions to artists is completely random
.

Categories
Free Culture

[cc-licenses] Getting to Version 3.0

[cc-licenses] Getting to Version 3.0

Mia Garlick, CC General Counsel, announces the proposed CC 3.0 timeline. If you are interested in Creative Commons and wish to be involved in the 3.0 process, do subscribe to cc-license-discuss.

FDL compatibility isn’t in 3.0, which despite having fought hard for I have mixed feelings about, hopefully the “other way” Mia mentions will be better. And I’m not sure about an icon for “right of integrity” in strong moral rights jusrisdictions, but this is better than the current, implicit, situation. The generic licenses and the clarifications for various parties all sound great, and I’m really excited about the drive to clearly identify the “free” licenses.

Here’s to 3.0!

Categories
Aesthetics Satire

khaaan.com

khaan.com

No, I have no idea.

Categories
Aesthetics Generative Art

Look, See: Painting The Digital River

Look, See: Painting The Digital River

I saw this book a little while back but haven’t had a chance to read it yet. It looks like a study of art from the Paintbox end of the spectrum rather than the code art end, but in a genuinely engaged way. The Paintbox is the only genuinely modern (technical) form of painting. If he were alive today Leonardo would use one. So what prevents most “serious” artists from picking up a Wacom and engaging with the medium?

Categories
Aesthetics Generative Art

aesthetic computing book – data visualization & visual culture – information aesthetics

aesthetic computing book – data visualization & visual culture – information aesthetics

One of the things that the better work in the Boredomresearch show drove home to me is that aesthetics and computation can be equivalent. This isn’t meant to trivialise either, or reduce one to the other. But when shape grammars are Turing Complete and a 2D Turing machine is aesthetic, there’s at least an interesting overlap between two domains that couldn’t seem more different on the face of it.

Categories
Projects

Minara

Sometimes it’s easiest to so something recursively:

(define (combine-ranges a b)
(cons (min (car a) (car b))
(max (car a) (cdr b))))

(define (combine-selection-ranges-aux range ranges sorted)
(if (ranges)
(let ((next-range (car ranges))
(rest (cdr ranges)))
(if (selections-overlap? range next-range)
(combine-selection-ranges-aux (car rest)
(cdr rest)
(cons (combine-ranges range
next-range)
sorted)))
(combine-selection-ranges-aux next-range rest
(cons range sorted))))
(cons range sorted))

(define (combine-selection-ranges ranges)
(combine-selection-ranges-aux (car ranges) (cdr ranges)))

But I haven’t debugged this yet and I think I may have missed a case. 🙂

Categories
Reviews

Who, hah! Hah, hah, hah Who, hah!

Ooh yes. A cliffhanger.

Excellent stuff. Was it really only 45 minutes? I just wish they’d drop the soap plots, the crap music and the kiddie TV lighting. And another thi – ahhhhhh! everyone is about to be turned into Cybermen! Ohshitohshitohshit!

Categories
Projects

Minara

Working on copy & paste:

(define (cut-selection-ranges-to-copy-buffer-var buffer)
(copy-selection-ranges-to-copy-buffer-var buffer)
(clear-selection-ranges-var buffer))

(define (paste-copy-buffer-var buffer)
(buffer-insert-undoable buffer
#f
(buffer-to-string (ensure-copy-buffer-var buffer))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Copy
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(define (do-copy-key)
(copy-selection-ranges-to-copy-buffer-var (window-buffer (window-current))))

(keymap-add-fun %global-keymap
do-copy-key
"Cc")

Now when I think “I wish there was a function to do x…”, more often than not I find I’ve already written it. 🙂