Another Site Upgrade

I’ve completed step two of my ongoing site upgrade. In this round I defined styles css files and added div tags to the pages with names classes according to the function of a block on the page. The main change you will see on pages in the site is that the body is a fixed width. The styles largely duplicate the style info in the pages. Going forward I can now change the style sheet definition and have the appearance of all the pages in a section change without having to go in and update each page. I’ve also refactored a few more blocks into php modules, notably the section menu for the origami pages. So things are getting more modular and dynamic, even if only one step at a time.

Other than that, things are pretty quiet these days. Continuing work on a bunch of projects, but nothing finished yet. It’s back to school time, so everyone at home is really focused and there’s a lot less free time. The weather has been really pleasant and mild this September. The kids have been getting into watching Star Wars the last week or two. Jeannie insisted we watch them in the order they were made, which was a good call. I still like the original trilogy from the 70’s but when we watched Phantom Menace it was just as bad I remembered. Afterward I had the song American Pie running thru my head and it took me a while to remember it was the basis of the Weird Al song The Saga Begins. I played that for the kids and now they are all getting into Weird Al too.

New Recording: Touch The Ceiling Rough Mix

Here’s a rough mix of my new song Touch The Ceiling. As mentioned previously this was an original from the prog rock party band Infinigon, written by our drummer Mark Colicchia. My friend John Neumann, the original Infinigon bassist helped me with this song, contributing the bass and guitars, backing vocals and some synthesizer textures. It was a lot of fun collaborating with John. He had a bunch of new fresh ideas that expanded my idea of what the song could be.

The arrangement was true in spirit to the original version, but updated as well. The major difference is now we have all this machinery making modern music where back in the day we had to cover all the parts live. The spine of track is my Fender Rhodes part, on top of which I layered a lead synth that was fairly faithful to the original. On top of that we layered a few more synths. John broke down the guitar part into layers and built it up track by track, and in the end I had six tracks of guitars to integrate, a veritable guitar army!

Mark was one of the best drummers, if not the best drummer I ever worked with, and I tried to do justice to his style, energy, and chops in my drum track. I record my drums using the “four finger” method. I use a general midi drum kit layout and the left hand covers the kick drum and snare and the right hand does the hi-hat and cymbals. Then I go back and punch in and/or hand edit anything extra I need. I don’t typically use a lot of fills, but in the song it seemed like a good idea. There’s even an eight-bar drum break after the guitar solo that was a lot of fun to do.

My vocal on this song was delivered in a more hard rock style than usual. I was inspired by John’s suggestion to listen to David Lee Roth on some classic Van Halen. John later claimed he was joking, but I think the vocal is quite successful. I even added some spontaneous lyrics in the ending jam, as all chaos breaks loose among the synths and guitars. There’s going to be a fade out in the final version, but for now it just runs out to the end of the jam.

So this is it for the songs on my new record. Next I’ll be going over them one by one with an ear to fine tuning the levels and effects and cleaning up anything I might’ve missed, in preparation for the final mixdown and mastering.

Summer’s End

Labor day was unusually late this year, which meant we had an extra week of summer, which was great, but now we suddenly find ourselves in the second week of September.

We ended the summer with a long weekend at the beach in Ocean City, Maryland. This is the third year in a row and it’s becoming an annual family tradition, something we all look forward to. Swimming in the ocean, chilling and hanging out, going out to dinner, taking the kids to the boardwalk, the amusement pier and the water park, this may have been the best one yet. We did a few new things this time around.

On the day we arrived, it was too cold and windy to go swimming, so we decided to fly kites instead. We have a couple kites that have been hanging around for years, and it was the kid’s idea to bring them. It was great fun. The wind was strong and steady, and you can see why the Wright Brothers did their testing on a beach. One of our kites was cool pirate ship, the other is a maneuverable stunt kite with two strings that can be used for steering. I finally crashed this one into the sand in a big gust. One of the struts cracked but we were able to get it replaced at the very awesome kite shop on the boardwalk.

We went on an Assateague Adventure boat cruise. They take you on a tour of the harbor and then land on Assateague Island, home of the wild ponies, where you can spot wildlife on the island and in the water. On the ride home, the guide showed local marine critters such as crabs and starfish, some of which we caught that very cruise. The next day we went back to Assateague (by car) and did some of the nature hikes. We spotted crabs in the open spaces between the weeds in the saltmarshes, as well as all kinds of fish and birds. At the very end of the hike we spotted a fawn right up close; the kids were delighted.

Now we’re back and the nights are getting cool, and the kids are going back to school. Fist day is tomorrow and they’re all excited like it’s Christmas Eve. The time from now until January always passes in a blur.

Time to start lining up projects. Diagramming for my origami book has risen to the top of the rotation. I’m going to the Pacific Coast Origami Convention in November and hope to have a few new diagrams for that, as well as corrections on the batch I completed in June. Also maybe complete development on a few models I had in development in the spring.

Another thing I’m going to do this fall is finish my record album. I’m almost done tracking the last song, and then it’ll be time for mixing and mastering. I’m really looking forward to completing it. Beyond that I’ll probably spend some time writing before I dive into the next recording. Third is to continue work on the Foldinator, which is starting to get somewhere, and fourth is the ongoing development of my web site. Then there’s the usual slate of home improvements projects, mainly the painting we didn’t get around to last year. On top of that there’s kids activities, birthdays and holidays, not to mention my day job.

Foldinator 2 Build 2

Development of Foldinator2 continues. You can see the second prototype here:

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

Meanwhile the first prototype is archived here:

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

It still doesn’t fold paper, but it’s starting to do some interesting things. You can click on the “Load” button and see a list of models, encoded as OrigamiXML files. Select one and open it. You can see the UI update display the model name and author, and the text annotation for the first step. You can use the shuttle controls in the lower right to move forward and backward thru the steps, and jump to the beginning or end of the model.

A bunch of stuff is going on behind the scenes in support of this. I’ve implemented a file loader for the xml file that contains the list of models and their file names, as well as for the models themselves. I’ve create a hierarchy of classes to represent the data. The first of these is OrigamiModel, which contains metadata about the model, such as the title and author, and holds references to two other objects, OrigamiPaper and an ArrayCollection of steps. OrigamiPaper has properties for the papers proportions, color and starting orientation. The steps are of type OrigamiStep. This class contains properties for the steps action, annotation, and an ArrayCollection of creases. OrigamiCrease encapsulates the data to represent a crease, including properties such as the end coordinates, angle, parity swing, layers, etc. These last two classes will likely develop more properties and functionality as I build the folding engine.

I need to do a bit of bulletproofing around the initialization, and then it’s on to the main event, namely drawing and animating the folding paper. To begin with I’ll just be drawing a square procedurally and in accordance with the initial state specified in origamiPaper. Then I’ll be analyzing the geometry of the crease in the first step and breaking the square into appropriate polygons with a common edge, and rendering that. At first I’m going to concentrate on non-folding operations, namely Flip and Rotate the paper. Then it’s on to simple folds: Valley Fold, Mountain Fold, and Fold/Unfold. It’ll be a fair amount of work to get this far. Hopefully I’ll be able to apply this recursively for the second and subsequent steps, but more than likely there’ll be some gotcha.