Deep Summer

Well it’s the second half of the summer now, and we’re getting our first real heat wave. It’s been in the 90’s since last week, with no rain for a change, and no end in sight. We’re getting peppers and tomatoes from our garden daily now. And even though we’ve been busy, we’ve had some time to enjoy summer activities. We took the kids to Playland last Friday evening and the kids enjoyed the rides and we saw fireworks. Michelle is exactly 4 feet tall, which was the cutoff for a lot of rides, and it some of the ride operators were being extra picky. They wouldn’t let her on the big rollercoaster (too short), and then later they almost wouldn’t let her on some the kiddie rides (too tall)! They wouldn’t let me on the bumper cars for being too tall. The park has a bunch of old, classic rides from the 1920’s. The carousel had a genuine calliope, sort of a player piano crossed with a pipe organ and robot percussion section, that was fascinating to watch and listen to.

We went to beach on Sunday, which was great, except for on the ride home the car started making trouble, one of the brakes was overheating and seizing up. It’s in the shop now, but the car has just about 100,000 miles on it, so we’re starting to think about how long we want to keep it and keep repairing it. There are a lot of things I like about the Jeep, and over all it’s in pretty good shape, so it’s tempting to just keep it running. On the other hand, that’s the strategy we’re following with Jeannie’s car, so we don’t want to be in the situation where we need to replace both cars at the same time. And of course to replace it would be a whole research project to figure out what kind of vehicle to replace it with, and it’s gonna take a whole lot of precious time to do it right. Since I’m so tall, most of the cars our there are not good for me to drive, and even a lot of larger SUV’s are not well designed for tall people. Right now is not a good time for it’s since we have a camping trip coming up this weekend, and another road trip a couple weeks after that. Still, I think we better start looking into it so we’re prepared.

I’ve been making progress on a bunch of side projects. Luckily we’ve had no major home repairs or other projects of necessity for a little while, and things are at an even keel for the time being with my job, so I’ve been doing fun stuff. I’ve basically taken the summer off from working on origami and my book, since I was jamming on it really hard back in May and June. But it’s getting close to the top of the list as other things get done. I dusted off the Foldinator and began development of version 2.0. I worked out a format for Origami XML, and posted a first build. The second build will be along in a few weeks. I stated redoing my web site in PHP to support dynamic pages, and have implemented the first set of scripts. Still on the todo list is take pictures of all my new 2009 origami models, which will happen sometime this fall.

I’ve been making great progress with music. I bought a guitar a few weeks ago, and have been playing it enough that I’m starting to get somewhere. I’m think of writing a guitar based song even, something in the approximate style of Greg Lake. That will be on a future project, as this one is nearing the end. My friend Erik has agreed and to help me mix and master my record, which is great news. And I finished a complete song in record time in July. Now I’m working on the ninth and final song for my record, with the help of my friend John. More on that in a future post.

Zingman Site Upgrade

Now that fears over the Y2K bug have pretty much calmed down I figured it would be a good time to upgrade my web site to use some good ol’ fashion 21st century web technology. I’ve begun adding dynamic elements to my pages using PHP. The high-level goal is to make the site more template driven so I can update content easily and have configurable views. For example, I’d like to be able generate pages in my origami section that display the models in a particular subject or from a particular year on-the-fly. Toward that end, as a proof-of-concept I designed a drop-in header and footer that can be passed args for Title and Section. Many thanks to Jeannie for helping with creating these templates.

So far I’ve implemented the templates in the “back half” of my site – the less visited sections Multimedia, Movies, Art, and Spew. Now that I know it’s working, I’ll be getting around to the rest of the site in the next few days. In the meanwhile, please alert me if you come across any broken links while the transition is on. The payoff is, going forward, if I want to for example add a new section, I can just update the footer file with the new link rather than having to go in and edit every single page. Now the real fun begins. Soon I will begin going thru my sub-pages to create more sophisticated reusable content blocks and begin serving more and more parts of the site dynamically.

Kickin’ the Guitar

Hey! Who’s that playing?
Hey! The guitar?

Last weekend we went camping with a bunch of friends and families. Cooking over fires, drinking beers, singing songs around the campfire. Ah good times. We were pretty lucky with the weather. It rained heavily Friday on the drive up, but stopped by the time we got there. Most of the trip was sunny but not too hot. It started raining again the last morning, just after we finished packing down the tent, and by the time we were on the drive home it was pouring again.

We went for a rocky and muddy hike up a mountainside. The kids did really well, Michelle in particular. Even as the more sedentary adults began whining, she was hopping from rock to rock, happy to keep going with great energy and enthusiasm. Lizzy lost a sandal in the lake, playing fetch with Seth’s dog Nula. We burned the giant U.F.O. I folded back in June for the oversize origami competition. My friend Nick has some powder to sprinkle into the fire to make it burn all kinds of crazy colors. We put it on the flying saucer and it was just the thing. Video coming soon.

But the main topic for today is about singing songs a playing guitar. This dude Joe brought his guitar and we had some jams. He also brought a stack of lead sheets he printed out from the Internet, which was a great help. I usually memorize the music I play, but everyone knows different songs. So it made it easy to follow along with a song you basically know but haven’t played before. And there are hundreds and hundreds of songs easy song like that. Next time I’m gonna bring some printouts of my own.

I got motivated to get back into practicing guitar. Actually, last year around this time I went thru a spell of playing guitar and trying to learn some tunes from my big Beatles book and a Neil Young book. I tried to practice two or three times a week for a half hour or so. I picked a couple tunes that were pretty challenging for me, such as “I Will”, and was making progress, but had to put it aside after a few months. I felt like I my progress was slowing, and I wanted to make time for other activities, and besides, my guitar playing would never rise to the level of my saxophone or piano playing.

Another factor is that even thought I have two guitars, neither one is very good. One an acoustic that I traded for a boom box many years ago. It has the dubious virtue of being made almost entirely not of wood. The body is plastic, a great big Ovation-style round back, and the neck is aluminum, wide and flat. It never is quite in tune and takes a lot strength to barre chord on it. At least it’s loud. And it’s great for camping cuz it’s well nigh indestructible and it doesn’t matter if it accidentally gets wet or dirty.

My other guitar is a bit nicer. It’s a Guild electric that I bought many years ago off my friend Mark (Yo Homeslice!). It actually has pretty good sound and action, and a nice two-pickup setup with a three-way switch and tone knobs. The main problem is the intonation. The joint between the neck and the body is not tight enough, so you end up doing Adrian Belew style tremolo effects every time you shift your balance.

Still, you can’t take a piano with you into the woods and you can’t sing while playing a sax, so I got motivated again. This time the focus is on easy rock and folk songs. I’ve just been googling lyrics and chords and finding pretty much every song I think of. It’s actually pretty funny how the same ascii tab charts that were floating around newsgroups in the 80’s are still out there circulating. One not-so-easy song I decided to tackle this time around was “Suitcase Blues”, a great ballad by Rik Emmet of Triumph.

And so, today I bought myself a new guitar. I knew I wanted an acoustic-electric (acoustic with a built-in pickup) so I could practice without and amp but could plug it in if I ever want to use it for recording or gigging out. After looking online, figured I could probably get a decent on in the $300 ballpark. I went to the music store on my lunch hour and it was nice and quiet, so I took some time and auditioned about 6 guitars. In the end I picked a Yamaha APX-500. It has really good sound and action, and a bunch of details that I like. The body has a nice shape and is thinner than other makes, so it’s more comfortable to hold, but still has a nice full sound. The neck is thinner and flatter than a lot of acoustics, but not as much as your typical electric. The jack is in a convenient place. It has a built-in tuner and 3-band equalizer and a slider labeled “AMF” that I’m not sure what it does. Its scale runs from 80 to 10K, so maybe it sweeps the resonant frequency for the middle band of the EQ. Finally, it has a really nice tobacco sunburst finish which is just gorgeous.

So now I’m totally psyched to learn a bunch of new songs. Too bad it’s too nice to take camping.

Here’s a picture of the guitar next to Michelle’s ukulele.

Rollercoaster of Cheese

A while back I thought it would be a fun idea to teach the girls how to make their own cartoons using Flash. It was a cool little project. It’s been sitting around almost done for a long while, and we finally got the motivation to finish it off. I had introduced the girls to the drawing tools before. This time once they’d made a bunch of drawings, we brainstormed a story line. We did a little voice recoding session and edited together a soundtrack to serve as the backbone of the cartoon. I taught the girls how to do motion tween animation synched to the sound. Although Michelle got bored with this part Lizzy did just fine. Here is final movie, and an alternate take.

I had a bit of trouble with the movie once I uploaded it and viewed in the browser. On some computers it the animation and the sound were getting out of sync, spoiling the effect. It appears to play correctly in the browser with the Flash Player 10 plugin, so if you don’t have it, I wrote a check into the page to prompt you to upgrade.

New Recording: Making Miles

Here’s a new recording of song called Making Miles, written by my brother Martin after coming home from a month of hiking on the Appalachian Trail. It’s not only one of the best songs he’s ever written, but it ranks as one of my favorite songs of all time. The lyrics are melancholy yet hopeful, and the music is sweet and full of subtle little turns that make it rewarding to play and listen to. I started playing it on piano when I got back from my trip upstate a couple weeks ago, after not thinking about it for years. Martin taught it to me way back in the day, and it just sort of came flowing out spontaneously.

I decided to record it for my album for a few reasons. One is that it’s such a great song. Another is that the arrangement is basically just piano and voice, and I was able to record and mix it very quickly. This is important because I’m trying to get my album completed this fall in order to make more time for origami. I have seven songs finished but need another two. I have more than enough songs that are half written, but I realized it’s a lot of work to go from having a basic concept for the lyrics and chords to working all the details of the structure and arrangement, and more and more I’ve been composing and arranging in the studio, with the results that it takes me a few months to do a single song. I had wanted a solo piano song for this record, and this one fit the bill nicely.

The parts went down fast and captured alot of the original spontaneity. The piano part is my own voicings, but an approximate adaptation of the way Martin plays it on guitar. I added a synth bass part following Martin’s suggestion (“Taurus pedals”). I multi-tracked the lead vocals to create a natural chorus effect, and in case I need to edit phrase here and there. I did a few takes of the vocals, and after each one listened back and tried again, getting more precise with each take. On the third attempt I was pretty happy with the result.

Foldinator 2 – First Build

Development of Foldinator2 is off to a good start. You can see the first prototype here:

http://zingman.com/foldinator2/foldinator2.html

Admittedly it doesn’t do much yet. So far it’s mostly framework and boilerplate MVC code. Not so glamorous, but important, like pouring the concrete for the foundation of the house. The data model class is defined and has a few important properties, including a reference to an object paper, which is currently just a square drawn to the screen, but will be the heart and soul of the application. The app presents a starting UI, and all the buttons are mapped thru events to commands. There may be more views and interface elements later, but this is enough to get going; anything new will fit into the established structure. Also I put a text output console, to make debugging easier going forward.

I have one more milestone to go before I get into actual folding in simulation. First implement the guts of Load button, read in an XML file and parse it, and assign the info and the steps to the (data) model. Next is to step thru the model using the shuttle controls. At first this will be text–only. The app will display the step number and the annotation for the current step. Once this is done, then it will be time to apply the fold specifications to the paper for each step.

Meanwhile, my brother Martin has begun work on an origami application of his own, and post a demo here:

http://www.victoryhearts.com/origamagiro/

His working title for it is “origamagiro”, a nice palindrome, but then he looked up the meaning of “giro” in Japanese here:

http://jisho.org/words?jap=giro&eng=&dict=edict

Well “giro” could mean battle, argument, controversy, guillotine…. or brothel. Martin sez: “Interesting contextual possibilities! Maybe we need to find a person actually fluent in Japanese to ask!”

Martin’s approach is in many ways complimentary to mine. He’s developing in Silverlight, so the possibility of us sharing code is slim to none, but that’s ok cuz we can share ideas at a conceptual level, which may ultimately be far more fruitful. Second, while I’m working my way in and building the groundwork, he’s diving right in and confronting the hard conceptual problems of graphics, modeling an animation head on. So while my first demo has a bunch of nice looking buttons, his has a virtual piece of paper that the user can manipulate.

Watch this space for future developments.

Home Again

We were away last week on vacation, visiting family upstate and then spending a few days at home to rest and get caught up on things. Spent a whole week wearing no socks and shoes.  We visited Denis and Sara for Anna’s first birthday party. Everyone in Jeannie’s family made the trip of from NYC. All the grandkids together in one place, a rare event. We all went swimming in Denis’s pool, and Lizzy learned how to do a proper dive off the diving board, which was a big thrill. The next we shuffled off to visit my parents. One highlight was a family picnic for all the cousins on my mum’s side. Another was a trip to the zoo. One evening Jeannie and I took a visit to our old college for a walk around the campus. On the last day we caught up with Martin and Kathleen. Little Charlie is getting big!

Origami XML

As I mentioned last week, I feel inspired to dust off my origami software, the Foldinator, and try and move its development along towards a release version. I brief recap: I first conceptualized Foldinator as an application to author origami diagrams, since there is no such purpose-built software out there. As I thought about it I realized it would in fact have to be something of an origami simulation, with the steps of the diagrams working an actual animated simulation of the paper.

I started with the application design, concentrating particularly on the user interface and authoring tools. I wrote a paper on the subject with I delivered at 3OSME a few years back. I was writing it in Flash, which in those days meant ActionScript 1, which is a bit of a kludgey language without proper objects or data types. Around this time I was out of work for a while after the dotcom crash and made a good start on a prototype since I was able to give it some serious focus for a few months. The prototype could record and playback steps, and execute several operations including Rotate, Turn Over, (Valley) Fold and Fold, and Valley Fold.

When I got to the point where I had to grok a sequence of valley folds, I knew I had gotten to the heart of the problem. I had to figure out how to model this algorithmically to proceed, how to break the paper into a bunch of inter-related parts with hinged and/or joined edges. This made harder by the limitations of ActionScript as a language, which was not really designed for serious application development. I considered rewriting the whole thing in Java, but that would have meant a completely new approach and implementation of the drawing engine. A related problem was how to represent the data that comprised a sequence of steps. At the time I was using generic objects with properties, again due to AS1 limitations.

Around this time I got a new job and the amount of time and energy I was able to put into the project waned. After long days of writing software, it was hard to come home and work on a whole ‘nuther project at night, and besides, I wanted to put more of my origami time into actually designing and folding models.

Well things have changed since then and I figure it’s time to give it another shot. For a while I was trying to get some kind of R&D funding so I could work on this full time. But that does not look like it’s likely to happen, so I might as well get on with it.

One thing that that’s changed is ActionScript has grown up into a full-fledged Java-style object oriented language, and Flex into a professional grade authoring platform for web applications, built on Eclipse. Flex is a superset of Flash and includes the Flash vector drawing and animation engine. So the platform for Foldinator 2.0 is Flex.

Another thing that’s changed is I’ve figured out over the years how to be productive in small focused efforts that accumulate over time. (Having kids kind of forces you to get good at using your time wisely.) The key is to have a discreet and achievable goal every for every session that you sit down to work at something, whether it’s a few hours of even just an hour or less. Sometimes the goal can be just to think about it or come up with a plan for something, but I try and do my thinking offline, so when I sit down to work there’s a short-term goal. The first thing I did was create a new Flex project and set up the basic framework, and import my old Flash code to pick over and see what can be ported and what should be scrapped.

The other thing I did was to start to work out the data representation side. The first prototype focused on the authoring and interface side of things. This comes at it from the opposite end. Naturally, the logical choice is to use XML, so I thought coming up with an XML schema to represent an origami model would be an important step. Having googled “Origami XML” it does not appear that anyone has done any work on this. I told my idea to Brian Webb and he said “That sounds like a trip to Singapore right there,” referring to the upcoming 5OSME. I’m not sure I want to this, but I’m thinking of going to this year’s PCOC, because it’s in San Francisco and I used to live there and it’d probably be a lot of fun. Maybe there will be an opportunity to present a paper there, like the Monday sessions at the OUSA convention in New York.

In any event, the design goal of OrigamiXML is to represent a model by its folding sequence, in a way that’s application agnostic, in other words independent of Foldinator. I’d like to make OrigamiXML a standard that can be shared with the origami and software communities, so that Foldinator can share documents with other applications. I ran this idea by my brother Martin, who is thinking of developing an origami themed computer game in SilverLight.

I have started with a few examples of traditional and simple models expressed in Origami XML. They are: Picture Frame, a pureland model invented by my daughter Elizabeth a few years back (for those of you who are not folders, pureland means the model has only mountain and valley folds), the traditional Swan, the Waterbomb Base, and the Preliminary Fold. These bring up the issue of reverse folds, which it looks like I’ll have to get to sooner rather than later.

In the offing I have a few more models partially specified: The bird base and traditional crane, which will necessitate working out how to specify and execute a petal fold, the frog base, which will do the same for a squash fold, and a funny little thing I made up and call the bird-dog base, which is half a bird base on one side and half of Montroll’s dog base on the other.

If you look at the XML, there is some meta data at the top, including things like the title of the model, the author, and copyright info. Then there’s information about the paper: it’s proportions, whether it ought to be two-color and so on. Although I am mainly focused on single-sheet models, it supports specifications for multiple sheets. How to put multiple sheets together into a model is a bride to cross when we get there.

The heart of the document is the sequence of steps. Each step includes an action, which indicates the kind of step usually “fold”. It also has an annotation, which is a human readable description of the step, like those that typically appear in published diagrams.

Then there is room for any number of creases. At first I thought I would have just one crease per step, but then I realized it is necessary to have multiple crease to support reverse folds, squash folds, petal folds, and sinks. This means too that the OrigamiXML can support arbitrarily complex compound folds that collapse all at once, that are common in box-pleated models and other advanced modern styles.

A crease is specified by several parameters. First is the location, which can be either an end point and an angle or two end points. I’m not sure yet whether these coordinates are relative to the unfolded sheet as in a crease pattern, or to the current view of the folded model as in conventional diagramming. I’d prefer that latter, but have not yet worked out if this is possible, or if it will introduces too many cases of unsolvable ambiguities.

Other parameters include Swing, which specifies which way the folded paper moves (Left, Right), as well as Parity (“Mountain” or “Valley”), Type (Inside Reverse, Outside Reverse, etc., although I’m not sure if this belongs with the step of the crease), and an optional value for the number of layers to fold thru, which defaults to “all”.

Another feature is that steps can be nested, so a step can contain multiple sub-steps. The intent of this is to handle common diagramming situations such as “Repeat steps 19 -24 on the left side” or “Petal fold, repeat behind.” In the second case, this simple instruction actually breaks down into four steps. First the petal fold (which itself involves three creases). The next step is to turn the model over. Third is another petal fold, and last is to turn it over again. Having to make this into four steps in a diagram would be tedious to the diagrammer and bothersome to the folder, so I’m hoping to be able to automate this out.

That’s as far as I’ve gotten so far. I’d like to figure out a way to vet this to the origami community and get some feedback. Probably a simple post to the O-list ought to do it. Meanwhile I’ll start development on Foldinator 2.0 and by having it read in these XML files and parse them, and build the logic in the engine ones action at a time until it can execute these models. I fully expect there will be some back’n’forth between the XML and the engine to get the kinks ironed out. We’ll see how it goes. Wish me luck.

Summer At Last

Had a nice long weekend over the fourth of July. It seems the rain has finally stopped and it’s been nice and sunny, although not very hot. Got caught up on rest and finished off some projects, and started some new ones. Finished making a seat cushion for a toy box bench for Lizzy’s room. Made a start on organizing my origami studio. Made a start on Foldinator 2.0. Saw some fireworks, listened to some tunes, had a few good barbecues and spent a day at the beach.

The key to going to the beach around here is go early, like going skiing. Or at least like a regular work/school day. We were up at 7 out of the house by 8 and had our toes in the ocean by 9. We went to Jones Beach on Long Island, which is a fantastic, world-class beach, but tends to get crowded. Parked in the near lot and the place was practically empty when we arrived. The water was cold but we got some good swimming in and built some enormous sand castles. By the time we were heading home around 2 in the afternoon, the parking lots were full and there were traffic jams. We were going the opposite way, so we just laughed.

The flowers in our yard are doing really well this year. Blooming a few weeks later than usual, but they seem to be making up for it by being extra beautiful. Lizzy took a few pictures. I took a few more.

OUSA ’09 Pictures

Here are a bunch of pictures from the convention. Get ready, there are a lot of ‘em. First up, a few personal favorites among the many, many models on exhibit.

Seth Friedman’s Blue Bar Pigeon. Perhaps my favorite model this year. I think birds are the new bugs in origami. Over the past few years I’ve seen ever more detailed and more sculptural birds. This is one of the best yet. Pigeons are an animal I know intimately, and this one really captures the essence of the animal. Very moving.

Marc Kirshenbaum’s “Blue Sky”. Marc is known for complex models including insects and musicians, and for his whimsical sense of humor. This year he brought that all together in his “Original Beatle”, a beetle playing a guitar. But to me Blue Sky demonstrates such a simple and fresh approach, and ends up being very evocative, so here it is.

Joseph Wu always does such amazing work. He has just the right sculptural touch to bring a subject to life. Here are some of his pigs and an octopus.

Brian Chan is a virtuoso folder who loves to tackle supercomplex subjects. His work transcends mere technique. Here is the anime heroine Rei.

Michelle’s candy box was selected for this year’s Origami by children exhibit.

Here’s a bunch of photos of my exhibit. I hope you don’t find it too indulgent, but what the heck, it’s my blog.

Every year the girls like to fold Laura Kruskal’s Convention Crown.

Here’s T.J. Norville and I folding my U.F.O for the oversized folding competition. It was awesome fun.

My origami Sphere, inspired by Thelonious Monk. Not too battered after spending a whole day bouncing around my backpack. It’s made from a frog base in a way roughly analogous to the way a Waterbomb comes from its base. I’ve been carrying this idea around with me for a while, but had no idea if it would worked until I tried it, particularly the way the paper goes in around the equator. This also is a proof of concept for the tail and fins for my work-in-progress Zeppelin model. I’m now working on a second, rounder, version of the Sphere with 72 rather than 32 facets.

My Pyramid/Sphinx, spontaneously invented in response to a conversation with John Montroll and Won Park.