All posts by Thomas Hollier

How to get a 9 year old interested in programming

Osx has a nifty command line speech synthesizer called “say”. It allows you to type some text and hear it “spoken” by the ubiquitous synthesized robotic voice. First, open the terminal and show him how it works by typing:
say "hello, my name is Robert"
Then show him that you can type different sentences and let him play with that until he gets the hang of it. Make sure to include enough potty humor to ensure sufficient hilarity:
say "Even though I am a computer, I sometimes talk about farts."
That should get his attention. You can also include question marks and nonsensical words for extra extra fun:
say "Are you some kind of flarpy nunckenbarf?"
The next step is to introduce the concept of variables:
friend="John"
say "$friend is a complete idiot"
friend="My hamburger"
say "$friend is a complete idiot"

By this time, tears of laughter should be streaming down his face, but don’t let it stop you. This is where the comedic potential really starts paying off with the introduction of the “for” loop.
for friend in "alfred" "max"
do
say "$friend is a fizzlebutt"
done

And then show him how to pause between the sentences
for friend in "alfred" "max"
do
say "$friend is a fizzlebutt"
sleep 1
done

Finally, once he finally peels himself off the floor and catches his breath, you apply the final coup-de-grace with the help of the “if” statement:
for friend in "alfred" "max" "frank" "dave"
do
if [ "$friend" != "max" ]
then
say "$friend is a total moron"
sleep 1
else
say "$friend has bad breath"
sleep 1
fi
done

After you share these intoxicatingly powerful instruments of distraction with your son, I suggest you steer clear of the technology teacher at the school.

Exposure/gain calculator for all your inverse squared falloff needs

I get asked this approximately once every 6 months and I always forget which means I have to spend a bunch of time looking it up again. This kind of conversion usually comes up going back and forth between tweaking lights in the render and color correcting the individual outputs in the comp. I’ll jot the math down here so I know where to look for it next time. Oh, and since it’s about relentless play and hacking in general, maybe I’ll build some quick little javascript/HTML calculators, cuz I just like to party like that!

Converting from stops to a multiplier

This is useful when you want to use f-stops with a color correct node that multiplies your color values.
newGain = oldGain * pow(2,exposureChange)

Old Gain:
Exposure Change:
New Gain: 666

Converting from a multiplier to stops

This is useful when you have color corrects in the comp and want to bake them back into your render’s lights.
newExposure = oldExposure + log(gainChange,2)

Old Exposure:
Gain Change:
New Exposure: 666

Adjusting for distance

While we’re at it, you often need to move a light backwards or forwards while keeping the same light intensity on a subject. Assuming that “oldDistance” is your light’s current distance to subject and “newDistance” is the new distance to subject, you can use the following formula to figure out the new exposure required for the light to have the same intensity on your subject from the new position.

newExposure = oldExposure + log(pow(newDistance,2)/pow(oldDistance,2),2)

Old Exposure:
Old Distance:
New Distance:
New Exposure 666

Adjusting for light area

In some renderers the light intensity is not normalized to the area of the light itself, which means that your light becomes brighter as you scale it up. If you want the amount of light to remain similar as you scale it up or down, this is your formula:

areaRatio = (oldWidth * oldHeight)/(newWidth * newHeight)
newExposure = oldExposure + log(areaRatio, 2)

Old Exposure:
Old Width:
Old Height:
New Width:
New Height:
New Exposure 666


Submerged, a Lightscape Installation

I have a real soft spot for projects that blend virtual environments with real architectural spaces. In fact, before I even found a place in the VFX and animation industry, I had already had the opportunity to get involved in various stage design and themed entertainment projects that required this kind of creative inquiry. I’ve also always been excited by the use of image re-projections techniques in my VFX and animation work because I find they can sometimes offer an elegant and effective solution to problems which would otherwise be difficult or expensive to tackle through more traditional approaches.

A few months ago, when a painter friend approached me for help designing a lightscape installation for the opening of her exhibit, I jumped at the opportunity.  Corinne Chaix‘s exhibit is called “Submerged” and is at the PYO gallery downtown. Her work features underwater scenes, and she wanted to explore the idea of complementing their mood and reinforcing their theme by turning the gallery space itself into an underwater environment.

We visited the gallery and brainstormed on the most aesthetically interesting ways to set up the projection. I also surveyed the space which later allowed me to build an accurate digital version of the environment.

The next step was to create a digital version of the projector in this virtual environment which allowed us to visualize the way imagery projected out into the space.

Meanwhile Corinne compiled a set of stock footage clips that resonated with her and passed them on to me. I created a composite movie that blended various elements from these clips and formatted the resulting image to fit the contours of the gallery space.
The first clip conveyed a dark foreboding underwater feeling while the second captured the delicate crystal beauty of the water’s surface.

I combined the two, moving the water surface to the top of the frame in an echo of many of her paintings.
The last step was to take this composite, project it onto the walls and remap it to line up with the contours and orientation of the walls.
I used the open source VisualSFM package to extract the geometry from the photos, Maya for the 3D and Nuke for compositing.

Cement, Succulents, and The Bliss of Stacking Stuff That’s Heavy

[vc_row][vc_column width=”1/1″][vc_column_text]I can relate to the fundamental urge that stirred people to build Stonehenge. Also, I read somewhere that tiling has spiritual meaning in Islamic art because it allows the artist and the viewer to peer into infinity from a simple set of shapes and rules. As for me, these days, I am into designing stackable cement succulent pots. Putting things together, creating form, transforming space, exploring patterns and discovering shapes… The kind of play this website advocates is a sacred activity. No doubt in my mind…

Anyway, check out my latest project:[/vc_column_text][vc_column_text]

The Concept

It all starts with a unit.

1x1_0

And then, there were two.

1x2_00

Any builder worth his salt will need stacking pieces.

And so now, we start composing shapes.

example_1

Going up.

example_2

Playing with possibilities.

example_2[/vc_column_text][vc_column_text]

The Application

Since they have holes, you can put stuff in them.

You can make many combinations with just a few pieces.

Playtime!!!
1x1_grass[/vc_column_text][vc_column_text]

The Buy Some

Why should I be the only one able to have fun around here? I know you can wait to get your paws on a few of these bad boys.

Well, lucky for you, a couple of local stores have agreed to spread the joy of succulent care and cool home made cement pots to our eager community and are making them available for purchase.

In Los Feliz:
http://www.pottedstore.com

On Abbott Kinney:
http://www.thejuicyleaf.com/

On the web at Etsy:
https://www.etsy.com/shop/RelentlessPlay

Act now! Supplies are limited! Since they’re a pain in the ass to make and I’ll be working super long weeks all summer at my other job, I won’t be cranking out many of these. It actually gives you the opportunity to be the only one on your block with one. Think of how envious your friends and neighbors will be when they find out there are no more left to buy!!![/vc_column_text][vc_column_text]

The Making Of

I built the main pot shapes out of 1×3 oak lumber cut and glued together to make the shape.

blockpot_howto_01

Next, I built a box around the master shape

and made a mold out of rubber.

Here is the original shape and the mold.

blockpot_howto_04
All that is left to do is put the empty mold back into the box it was poured in, put some cement in and wait a couple of days…

blockpot_howto_05

There it is. It’s that simple…

Or is it? In fact, I learned quite a few things through the many mistakes I made along the way. First, the mold I document here actually has a major flaw in that it creates a visible seam along the main face of the pot. I ended up having to take a new approach and pour a new mold that had its seam located just around the bottom edge of the pot. Figuring out how to build the box and the process to take to get the two rubber pieces to come out the way they did involved a lot of visualizing 3 dimensional positive and negative shapes. Also, I made the box out of melamine which was yet another mistake because it has sucked up moisture and gotten warped. I think I will make a mother mold out of plaster for these at some point. Also, it can be pretty hard to get the cast out of the mold, specially the big rubber squares that end up shaping the holes. I need to find a way to make it easier, and while I’m at it, to make it so I can pour 10 pots at once rather than just one.[/vc_column_text][vc_column_text]

Epilog

Here it is, at home.
1x1_grass[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][/vc_column][/vc_row]

Hacking, Creativity, Process

PlaneSander

I had a great time today! I took apart my belt sander. It’s a basic Black and Decker model I got at Home Depot which I have been abusing for the past two years to sand and polish the cement pots I make. In the end, considering the time it took me and the fact that it only costs $50, the sensible thing would probably have been to go out and buy a new one. The thing is I am curious; I wanted to see how the pieces necessary for the tool to function all fit together into one design, I wanted to see how big the motor is, what kind of gears and pulleys it uses, and if there are any cool pieces I can use for something else or are just cool to look at. In the end, I took all its pieces apart, cleaned up all the cement and wood dust that were clogged up in there and, lo and behold, when I put it back together, it worked!

Hacking is a vital activity that subverts the opaque technological structures that exert increasing control over our lives. Extensive data collection empowers large corporate entities to profile how we fit into marketing models and allows them to decide what we should or shouldn’t have access to in order to maximize profits. Accompanying this are the prevailing consumerist attitudes which dictate that the broken item should be thrown away and a new one bought. This wasteful assumption is enabled by the orgy of cheap goods globalization provides us with.  It sucks!

Opening up that belt sander represents my refusal to accept this status quo.  Though I don’t particularly like the word “hacker” because it conjures up the image of a social recluse with questionable personal  hygiene, impressive technical abilities, and a broken moral compass, what I associate hacking with are the creative endeavors borne from the spirit of questioning, exploring, and rearranging the prevailing attitudes and objects of our world. It attempts to figure out how something works, and whether the designers of that “thing” put it together in a way that attempts to control my behavior, and it further seeks to put that thing back together differently. The reasons for doing so can be varied: artistic, political and utilitarian, but usually a bit of all of the above.

Ultimately, I think what really compels me to open up a broken belt sander just to see what’s inside it is that it makes me happy. It allows me to experience a child like sense of discovery and excitement at understanding how something works and the happiness of integrating it into my own creative process. When I get lost in this process of disassembling and reassembling, breaking and building, cool things usually come out and it puts me in harmony with the world. It restores my sense of my own humanity. That’s why the name of this blog is relentlessplay; it’s meant to convey the urgency of keeping the spirit of play alive and well.