Christopher Weeks's posts

thingsweeks.blogspot.com/

In few words: I live in Minnesota, US. I make stuff out of paper and glass and text and pigments and compilers and games and food and clay and metal and plastic and stuff. I'm looking forward to making stuff in with the constraint of roughly 20-60 minutes.

Wednesday, February 27th (116)

7 Vote up

Copper Valentine

So, my wife and I exchange hand-made valentines as our tradition.  For the past three years, she’s given me a mosaic piece that are all tied together through an encrypted message that I have yet to figure out.  It’s like “Happy V-day…dummy!”  :)  Anyway, because she’s making the final of these connected valentine mosaics, and mosaics are big projects, she’s way behind.  So we haven’t done our exchange yet.  So I’m still fiddling away at elements of my gift to her.  Today, I made a copper valentine.  It’s about three inches across.  I cut it out of thin copper sheet with tin snips, rubbed a texture into it using a form below and a sharpened dowel above, rubbed ink in, dried it, and then adhered UTEE (plastic granules) with Versamark ink pad to the raised bits of the texture and melted the UTEE with my heat gun.  Once that was done, I rubbed bright-pink colored mica dust into the raised plastic design.  The idea was that it would fall to the low areas, but it did the opposite and stuck to the plastic parts.  Then I remelted it to set the color/texture combination.  Oh, and I punched holes for later application before I started coloring.  I was rushed, but I quite like it.

4 Vote up

7 ATCs

Tonight I worked on seven artist trading cards (ATCs). I finished only one — enough that I feel OK posting about them as my thing-a-day, but not enough to warrant a photo. So, hopefully I’ll wake up early enough in the morning to finish 3-6 more and get a scan attached to this post. They’re paper collage with added layers of pigment, hand-drawing/lettering, fabric and embellishments.

Update: Adhesives are all dry, I did a bit of embossing atop some of them and here they are (click the image for a close-up):

Tuesday, February 26th (135)

2 Vote up

Final Transformative Anim

Monday, 25 Feb 2008 - Yesterday I got around to finishing up the project of swapping out the algorithm that I was using for the previous two “pure color” transformations for one that I think actually works.  I ran into a couple of unexpected issues, but finally got it squared away.  The following animation shows the results of 320 small transformative steps using the new algorithm.  I really prefer how you can tell that it’s behaving in a more understandable way based on the colors that you see.  (Also, it has red, green, blue, cyan, magenta, yellow, black and white to choose from each time it colors a rectangle over some pixels.)

7 Vote up

Collage Paper

Sunday, 24 Feb 2008 - I built an 11×14 inch sheet of collage paper (board, actually).  It’s nothing terribly special, but still, it looks better IRL than it does on this image.  There is a sheet of poster-board with a couple of rumpled, slightly dyed, vintage worksheets from some kind of children’s workbook.  Atop that, I used segments of the dyed watercolor paper that I made on the first and a stretch of pink ribbon.  In this case, it’s completely acceptable that the subject doesn’t look like much because it will be cut up as back grounds for ATCs or other projects — any of which will receive more treatment.

Saturday, February 23rd (123)

3 Vote up

A game for my family

This is a project plan and a design document for a game that I’m considering setting up for my family to play collaboratively over time.  It is a sort of hybrid simulation/miniatures/role-playing game that will be played over time through face-to-face meetings of some or all of the players and solitaire play, all of which will be rendered in LEGO models and spoken/written narration and conflict resolution.  Further, many facets of the game will be computer-assisted or facilitated.  The roles taken by a traditional RPG-GM will be apportioned to the software tools and to the players on an ad-hoc basis.  Models for game play that I have in mind include: Universalis (story-game, GMless play), HeroQuest (RPG, personal characterization/general abilities), Monster Island (PBM, vague theme), Evil-Stevie’s Pirate Game (miniatures, rendering only), Castle World (collaborative fiction, style)

In this game, the characters will be shipwrecked and wash ashore on an island.  The island will be comprised of “squares” including an elevation, a biome and features (monsters, people, mysteries, +?).  These attributes will be generated by a computer before the game starts.  As the island is explored, each square will be modeled as a 4×4 stud LEGO structure that grows with our game-play.  A “square” should be understood to be an arbitrary large area: an acre, a square mile, something like that.  On a weekly(?) basis, the family will decide what the characters are doing during that turn.  We might have some in-character play or maybe just hang out and moderate one another in author-stance.  The mechanical systems will be flexible enough to be useful in any kind of play that evolves.  While we’ll have an island model, we may also model scenes, locations etc, or write, what amounts to fan-fiction.  I’m thinking that we’ll set up a blog or a wiki to allow posts from all the players as well as a repository for record-keeping, etc.

There are two starting places.  The first of these is behind the scenes: generation of the map, building facilitating software, etc.  The other starting place is how play begins: creating characters, landing on the island, etc.

I’m imagining that the island will occupy six grey baseplates and thus be 96×144 studs or 24×36 = 864 squares.  I’ll write an application that generates a grid of squares with heights based on proximity to two “logical peak” locations — that is, the random elevations will tend to be higher as proximity to either of these locations grows and lower as proximity to the outside edge grows.  Then it’ll crawl across the land and deposit biomes based on elevation, etc.  Then it will randomly distribute monsters, people and mysteries.

Regular resources — to the extent that we decide to play a resource game, will be dependent on the biomes expressed on the map.  E.g. wood can be harvested from forest or jungle squares, peat from swamp, rock from rock, whatever.  Monsters, people and mysteries are special, ill-defined resources independent of elevation and biome.  As we play and encounter these special resources, we’ll just decide what they are and how we play with them.  I’m thinking that each of those should have a 1/60 chance of appearing in any square — giving about 43 special squares (on average).

Because I want knowledge of the island to be blind, the generator will output a data file that is read by an explorer application.  All the explorer does is allow us to punch in a coordinate and reveal complete details about that square and elevation/biome of all surrounding squares.  My default assumption is that we won’t know the special resources of any place that we haven’t visited (though that could change in game play — through player preference or special character abilities, etc).

I’m thinking of using either HeroQuest or a mod of a game that Mike Holmes is working on and I got to playtest for character representation and mechanical systems.  So we’d start out play by creating characters with a pool of abilities from each of three categories: homeland, occupation and personal.  An optional step is to have a fourth “trademark” category spring up as a result of the shipwreck or something else shortly after arrival on the island.  This final thing could be entirely fantastic.

Once characters are created, we jointly decide where we’re washing ashore and build up the base model to represent the water and land that we encounter.  After that, the plan kind of ends.  We play.  Part of play will be figuring out what play looks like.

Friday, February 22nd (127)

1 Vote up

Another Animation of iterative image destruction

This is sadly less different from yesterday’s effect than I was hoping.  It is larger and longer and allows the destructive algorithm to proceed much further, but it’s kind of just more of the same.

I also modified the algorithm for determining the “pure” color so that it’s more flexible and works right, but it isn’t reflected here.  I have an idea for my next iterative image mod that will base the size and/or placement of the next rectangle to modify on the attributes of the color of the current rectangle prior to the current mod.  But I’m not sure how that’ll work.

Thursday, February 21st (136)

3 Vote up

Iterative Digital Manipulation, an Animation

Today I got to work on my image-manipulation suite — Doink, but just a little.  I altered the checkerboard-generation routine to create a checkerboard and then alter the size of the checks.  (I’ve only played with reduction but I wrote the math so that it should enlarge them too — so that’ll be fun to hack around with when I get the chance.)  Then, I fed the size-reduced, semi-random, small checks into the code I wrote last week that isolates primary-color trends (where “primary” means any of: RGBCMY, y’know, “primary”) so that it just punctuates the image with rectangles colored in with the underlying prominent color.  Then I did it over and over and kind of had fun watching the change.  And it occurred to me that I could make that into an animation.

But, uh, I don’t know how.  So I spent the time to figure out how to do that with the ancient version of Photoshop/ImageReady I have at home (I ran out of time at work to figure out how to do it with The GIMP).  So here I am displaying two things: the animation of 64 steps applying this exact same Doink to an image and watching the effects accrue, and then the first three frames pulled out just to demonstrate slowly what it’s doing.  (I did this so small because I thought the animation would be huge — now I with I’d kept it at 500px wide.  Next time…)

Wednesday, February 20th (157)

0 Vote up

Shape Wars, a print’n'cutout ‘board’ game

So, I’m recovering from a quickie 24-hour flu-like bug with elevated fever and lots of pain.  I was home from work yesterday and made a little game.  I don’t have pictures of it yet but I blogged about it and put the PDF up on the web so anyone can download and play.  (I’d love to hear of anyone using it.)

Click here for the PDF.

Monday, February 18th (176)

1 Vote up

Planting a Five-Gallon Aquarium

Sunday, 17 Feb, 2008 - My daughter has been wanting us to get a pet of some kind that would be “hers.”  She’s six.  So “no” is an easy answer.  But we don’t really like denying the kids when we don’t have to.  And also, we used to keep aquaria — like 800 gallons at my peak.  So after opting out of a hamster, we agreed to fish.  We spent half an hour unpacking and picking through the many boxes of equipment that I’ve had set aside for years and years since I was active — getting filters and heaters and lights and such out.  We got rid of all our tanks with our last move so we decided to buy one — a barely used five-gallon tank for ten bucks.  Small tanks are sweet.

We took Kivi through the whole fresh-water selection at the fish store and selected a dozen gold tetras and an ottocinclus.  But for Cathy and I the important part were the plants.  We just got a broad selection of shortish plants for $30 to stock the tank.  We’ll see what thrives.  The thing is, it’s really pretty.  Even the cast acrylic ruins that Kivi wanted — the likes of which have never been seen in a tank of *mine*, is nice.  It took an hour or so to arrange and plant the tank but it was so worth it to create a lasting and interactive source of pleasure.

0 Vote up

Cajun-Style Hashbrowns

Saturday, 16 Feb 2008 - There’s this restaurant in Minneapolis called French Meadow Bakery that serves a dish called Cajun-Style Hashbrowns.  On the occasions that we want to drive into The Cities and spend $50 for breakfast (i.e. not very often, but also, too often) we frequently get this dish.  Cathy and I made our first-crack at a home version on Saturday morning — providing enough food for six people for about $10.

They serve it with: shredded potatoes, roasted garlic, onions, bell pepper, sometimes hot peppers (seemingly at random), sausage (veggie sausage in our case), and cheddar cheese.  We typically order if topped with scrambled eggs and share it.  So that was our model.

In one pan we cooked the taters and in another we cooked everything else but the eggs by adding one at a time: ~ 1 tbs peanut oil, a chopped onion, 2/3 of a tube of ground veggie sausage, ~ 4 tbs peanut oil, two small chopped bell-peppers, ten(ish) sliced cloves of garlic and a heaping spoonful of salsa fresca.  As the onion mixture softened, the potatoes browned on both sides.  When I was satisfied that each pan was sufficiently cooked, I layered some shredded sharp cheddar cheese over the onion/sausage/garlic/pepper mixture and then the taters atop the cheese and left the flame on low.  I quickly scrambled some eggs in the pan that had contained the hashbrowns and then served them all together.

We had three hot sauces (green Tabasco, a smoked chipotle pepper sauce and Sriracha) at the table along with black pepper and cayenne.  The kids don’t want any of this stuff so we don’t add much spice at cooking time.  It was good, but not perfect.  An anlysis of improvements (which might help first-timers) follows:

We were trying to cook disparate things without having planned how to do it and ended up burning stuff to the stainless steel pans.  I’d more carefully select non-stick pans for the taters and the sausage next time.

The garlic didn’t get as done as it does when properly roasted first.  We might do that, but more likely just put it on a really low heat for a while before getting the rest of the stuff cooking.

It was too oily.  We started the taters in a stainless pan and I kept adding oil to mitigate the sticking before finally moving it to a nonstick.  So it was and stayed very oily.  I similarly used too much for the sausage when I should have just used a non-stick pan.  Also, having used as much as I did, the cheese really pushed it over the top.  I should have skipped cheese or used like 1/3 the amount (which wasn’t particularly generous — we limit our dairy pretty tightly) that I did.

Next time it’ll be better.  (Pictures to follow tonight.)

2 Vote up

Digital Imaging: Color Conversions

(OK, I’m posting three notes quickly to sort of catch up.  I’ll edit pictures into them later when I get the chance.)

Friday, 15 Feb 2008 - I continued work on my graphcis app project which I’m calling Doink.  This is really perfect for doing software on the time-budget that thing-a-day promotes because I can get real functional results and call them a unit of productivity in an hour.  I wrote routines to merge two images of the same size (which I’ll adapt to handle differently sized images) and one to identify whether an image is mostly of one of the following: red, green, blue, cyan, magenta or yellow and a set of routines that work together to reduce the number of colors used in an image.

So, the variables that the user can set with this doink (the first one I made user-configurable) are: the total number of colors to use, whether to force black and white and whether to force the most prevalent of the six colors mentioned above.  So continuing to use my daughter’s halloween picture as a model (previous parts 1 and 2), the following illustrates some results:

This one is just black and white.  The application looked at every pixel and tried to determine whether it was closer to black or closer to white.  I’d guess that sophisticated programs have more clever algorithms to maintain texture, etc, but this is what I have.

This one didn’t mandate black and white but did mandate the pure form which turns out to be cyan.  I really dig finding the tonal areas that the app IDs as closer to cyan than white that it IDed in the image above as being closer to white than black

This one uses the “pure” color (which will always be cyan, for this original image) and then finds four other tones that are very common and not so close to one another as to be silly. 

Finally, this one forced the use of pure cyan and black and white and then seventeen other tones.  You can really see detail at this point.

the algorithm that determines which tones to use selects the most frequently occurring colors, one after the next and tests it to see if it’s far enough away from the other colors that have thus far been selected for use.  It does that by looking at the difference between the red, blue and green factors (scale is 0-255) and adding the squares of the differences.  If that sum is less than 300, it discards them as too close and grabs the next one and so on.  I think I’ll update the app so that the user can change that 300.

Thursday, February 14th (199)

1 Vote up

More Digital Image Manipulation

I had a chance to hack around with my image manipulation code today and developed a few new effects/filters which I’m calling “tweaks” and also some “doinks” which is what I’m calling algorithmic application of a series of tweaks. 

You can see my post from two days ago to see the earlier stuff and the original of the photo that I’m distorting.  I’m still really far from the kind of effects that I’m trying to reach, but I guess it’s baby-steps.

A blur effect that I get by averaging colors from surrounding pixels (over and over).

This also blends pixel colors but it’s based on the location of the image and blends the image into magenta in the upper right and cyan in the lower left and kind of grey through the diagonal.  It’s a good effect except for the grey.  I’ll mess with it more.

The inversion or negative of the image.  All of these three are pretty standard filters or effects if you use Photoshop or the GIMP and while they’re not rocket-science to program, it takes both figuring out and doing.

This doink combines blurs and checkerboard shifting – two different tweaks.

This one combines the Verve tweak with the checkerboard shift.  In each of these there is some randomness so I could run it a thousand times and get (somewhat) different results.

This is using an iterative shrinking checkerboard shift while inverting the colors every time to generate the black and white gaps.

Wednesday, February 13th (187)

7 Vote up

Tin-can Stilts

My daughter and I made a pair of tin-can stilts so that she could play with them the way Ramona Quimby does in one of the Beverly Cleary books.  It was quick and fun and now she has a new toy…that’s loud.

Tuesday, February 12th (220)

2 Vote up

Digital Image Manipulation Software

So, spurred to action by my playing the other day with some algorithmic image manipulation toys I found on the web (documented here at thing-a-day), I wanted to build some of my own.  And actually, after spending more than the hour that we are encouraged toward, I only have some rudimentary abilities built.  But it’s the start of a framework onto which I can add and just hacking through the ability to doink with graphics programatically took me some time.  While it may not seem like much, I’m pretty pleased with my progress.  The series of images below, demonstrates some of the algorithims that I’m playing with.  Each of these is one operation (from the perspective of my application) performed on the base image — which appears first in the series.  Incidentally, this is my darlin’ daughter posing as Medusa for ‘07 Halloween.

When I have something that actually generates interesting imagery, I’ll package it up and make it available on my blog and link to it from a thing-a-day post in case anyone else wants to play with it.  This is all done with GDI+ in VB.NET written in Visual Studio 2005.

 

Monday, February 11th (245)

7 Vote up

Label Valentines

Last week, a coworker of mine printed some labels but the template was set up wrong or something and the print ran perpendicular to the labels instead of being right on them.  So he was going to throw them out but I opted to take them home instead.  (Hey, anything can be used better than occupying a landfill, right?)  So I had the chore of figuring out what to do with them.  But as I mentioned yesterday in my duct tape valentine post, I’m coming up with a variety of small valentines for my sweetie’s V-Day project so I decided to use a sheet of these for this.  As you can see below, I scribbled with Sharpie permanent markers over a bunch of the labels in the colors that I thought was appropriate for the project.  Then I just started piecing them together over some quick-cut-out paper valentine blanks.

I like them.  If you squint so that it all loses definition, the colors blend pleasingly and the random numbers scattered throughout lend an air of puzzle or oddity to it. 

Sunday, February 10th (228)

7 Vote up

Duct Tape Valentine

The Valentine’s Day project that I have in mind for my wife is using some alternative materials.  Having used a strip of folded duct tape in the weave from Friday, I thought more about this wonderful material and decided to make a heart out of bits of tape.  And here it is.  It’s about three inches across.

Saturday, February 9th (241)

0 Vote up

Rye

I’ve been making whole oat groats for breakfast lately. First we were making steel-cut oats for the increased nutritive and taste value. And I figured if less-processed = more nutrition, why not whole oats? So we mastered that and they’re great! But what about other grains? We (everyone) make rice that way all the time, right? And it works for oats very nicely. So when I was buying a bag of oats out of the bulk section at my local natural foods coop, I noticed Rye right next “door.” So I got some.

In the end it took over an hour and a half to simmer to the texture that I like and I used about 2 cups of rye…uh…groats(?) or kernels(?) or whatever and ten cups of water. But it’s super good. More flavorful than oats or rice, but the texture’s not as nice. It was totally worth doing and I’ll have it for breakfast in the morning, but I bet that I’ll stick with oats in the end.

This is the cooked rye. For a couple more pics and two different sizes, check my blog.

Friday, February 8th (236)

2 Vote up

Valentine Weave

So I made this out of office-materials that I found at work. It consists of laser-paper, heavy card stock, light card stock, duct tape and photocopies. It will find itself used in valentine crafting later this week.

Thursday, February 7th (314)

2 Vote up

http://gieskes.nl/table-draw/

So I decided to play with an online image-tweaking engine that I found six or eight weeks ago as today’s thing.  I started by creating a little abstract in GIMP and then imported it into Table Draw and successively tweaked the heck out of it.  Whether or not it’s immediately obvious, each of these images is an only moderate application of the tools available and they represent a progression from top to bottom (except for the third image which was a dead-end caused by my bumping the emboss button accidentally).

This makes me want to mess with writing my own suite of graphics doodads like this.

Wednesday, February 6th (336)

0 Vote up

The regular grind

I didn’t make anything special today.  Just the normal stuff.  This thing-a-day has be thinking about what it is to make.  I got up this morning and made the kids’ lunches and then oat groats with fruit salad for breakfast for everyone.  At work today I made several small applications to handle reporting on output from past jobs that our department owns the data for.  In my off time — between normal work tasks, I made conversations tick online.  My daughter is sick and so I spent the evening making her feel as loved as possible.  Lots of little stuff that maybe doesn’t count for thing-a-day — at least it feels like it sort-of doesn’t, but maybe it’s even more important.

I’ll get back to special tomorrow.