Jul 302011

Found this while searching for something exactly like it.

I’m always frustrated by the lack of formal educational resources for people that are currently outside of the university system. I hope that this sort of thing will take off.

Just thought I’d share this, makes me happy. I’m still deciding if I’ll enroll right now but it’s a very good thing to know exists.


Jul 262011

I’d had the same host for over 3 years, PowWeb. It hadn’t been a charmed relationship but for the most part it was a quiet, functional, utilitarian arangement. In 3 years I’d had sporadic down times, a few support calls for piddly things, nothing serious. I’d never had an enjoyable time with their support department but that’s not uncommon for any support experience.

On July 16th, 2011 I noticed some heavy slowdowns with the site, then occasional outages. I filed a support ticket with their seemingly user-friendly online support forum. Over the next week the problem was marked ‘resolved’ three times with the claim that I had not gotten back in touch with them to discuss the problem. During this period I filed another ticket about not receiving their emails and provided an alternate address.

On July 24th I found my site was completely down. Not only that, but my admin login with PowWeb was inaccessible and said ‘invalid user account’, webmail was the same. The site was the only notice, the frontpage of funkboxing was an ugly PowWeb page screaming that this site had been ‘suspended’ and the admin should contact Pow Web by phone. Nice, very subtle. How about ‘site temporarily down’ is that too diplomatic?

So I call support. After a 15 minute wait for a tech and 5 minutes waiting for the tech to find my file the tech declares that my problem is that my account has been suspended. No kidding.

After that the tech seemed quite satisfied that she was dealing with some kind of criminal worthy of all manner of condescension. Why not, what decent person would have their account suspended?

After hanging up on that tech and finding another, slightly less unhelpful one, I found my account had been suspended due to an overuse of disk space. My account was using some 200Gigs of space which was over the limit.  Interesting for two reasons. First, there was no 200Gigs. I downloaded my entire 2Gig site in a little over an hour to make sure. Second, the limit for my account was- unlimited.

Apparently unlimited in PowWebs terms and conditions means ‘about as much as everybody else’, or probably something more like ‘however much we feel like giving you’.

The mysterious 200Gig file was never found, and a 3rd tech finally approved my suspension to be rescinded, in 24-48 hours. A 4th tech was able to speed things up and get my suspension rescinded while I waited on the line.

Seems the trick with PowWeb tech support is that each tech will only tell you one new piece of information, or perform one task. After that you should just hang up, call back, and get a new one. Of course this takes time because you have to explain the preceding events to each new tech. Good times.

But I was back, admin login was good, webmail login was good- but, my site was gone. Up, but gone. Nothing in the folders. Deleted. No data.

Another call to tech support and I was told it would be back in 24-48 hours. Another call got the same answer.

So I said screw it, closed the support ticket with a strongly worded complaint saying I would restore the site myself and please do not delete it again.

July 26th, sites back up, with a few problems with the restore, but I’m getting there. Unwisely I perform a site backup with a wordpress plugin called Snapshot-backup. It’s a horrible plugin, it’s like an invasion of the blob. It can start multiple backups which keep backing each other up, resulting in a 2Gig site creating multiple files 20+ gigs in size or larger.

Once again my disk-space is growing geometrically, albeit this time with a reason. So like a good little client I file a support ticket explaining what’s going on, that I’ve identified the problem, and please either fix it by deleting the files and stopping the backup process or at least don’t suspend my account while I’m figuring out how to do it.

Then I figured out how to do it. I changed the permissions on the .zip files the backup program was creating to read-only, which caused the process to error out and terminate, then the files were deleted.

It worked. The files were gone, disk-space under control. I got on the wordpress dashboard and deactivated and deleted the plugin with extreme prejudice. I was getting ready to send a concise message to the plugin developer about their product. The the site shut down and the ‘suspended’ page was back. Wow.

Moments later I get a call. It’s the first time PowWeb has ever called me, but it proves they’ve had my number all along so they could have called me about the first suspension or any of the other problems I’ve had with them in the years I paid them to host this website.

The guy begins to explain that my account has been suspended. I explain that I knew that, the problem had been identified, reported, and fixed, and they could remove the suspension. And I told him for future reference they should read and become familiar with a customers support ticket history before taking such action, not to mention stop deleting my website.

The guy told me they wouldn’t be able to revoke my suspension, he was sorry that PowWeb would no longer host my account, but that they’d help me find another host.

PowWeb was breaking up with me… Awww. I like that they’d help me find another host too, like I can’t use google and find the 160 other 5 dollar a month web-hosting services with the exact same features.

I took the time to explain to the guy the events that had led up to him giving me this call, and that PowWeb seemed to have gone to great lengths to insult and offend me, then when I complained about my treatment, their response was to deny me service. I told him this was a total breakdown in support and customer service and that it could be used as a case study to improve their company.

That said, I told him I was perfectly happy to part ways with his company and although the manner was particularly insulting, it just seemed par for the course so I should move on anyway.

I was guaranteed that the customer service people would research this and see what had gone wrong. I’m sure I’ll be reading the tiger team audit on that soon.

That was it. I was too loud, too much trouble. It kind of makes sense; they only charge 5-6 bucks a month so it’s only worth it for customers that just pay and shut up about it, once someone becomes too much of a burden, get rid. Insurance companies have the same business model right?

I had to go through a little rigamarole to get my domains DNS changed because I’d lost my login long ago and the admin-email for the registrar was my old LSU account which is long gone. I had to sign and scan a thing and my drivers license, it was a pain but at least it’s done and I went ahead and got my domain registered with the same company that hosts it so that’s better.

As the final finger, while I was waiting for the DNS changes to go through I found the site still had their ugly ‘suspended’ notice on it despite the fact that I no longer had an account with them. So I thought if I could get PowWeb to redirect the site as one normally could with the admin panel, then I could at get back up and running. I called support and explained the situation, he simply told me that my account had been deleted from the servers and I could manage my domain if I signed up with PowWeb again.

Once again, funny for two reasons. First- they’ll kick me out, then have me back the same day. Second- I wonder if deleting me from the servers deletes my support tickets, meaning the whole thing about the customer service people looking into the incident, which the guy told me just a few hours before, was complete crap.

Thanks PowWeb. You’ve earned this rant and I hope it sways as much business away from your crappy business practices as possible. It probably won’t do much, but hell- you’re willingly getting rid of customers so who knows what you’re up to. Anyway.

It’s all done now, funkboxing.coms back to normal, even upgraded a little, but I left the processing.js banner off for now, still haven’t decided… anyway.

I heartily recommend that if you are looking for a domain host or registrar, there are many, many options. PowWeb is not one of them.

I went with godaddy just because it was pretty convenient and I’d used it before to get a site started for some guys business so I knew it’d be quick. Also their disk space plans were clearly defined. 10G for the economy plan. None of this quasi-unlimited bs.

Godaddy seems pretty good so far. Domain transfer went through quick, sites very fast and FTP seems faster than PowWeb. Godaddy even courtesy called me when I first signed up to make sure I knew how to set everything up, not bad.

I’ll let you know how things turn out with godaddy but in the mean time, stay away from PowWeb, and be careful of ‘unlimited’ anything.

Jul 112011

BA Thread

What it Is – ProgrAnimals is an initial framework for variable morphology pose-controlled physics-based animation in Blender, whatever that means.

What it Does – In simplest terms this script creates a game-engine physics based ‘walking ragdoll’ from a user-defined armature, from humanoid biped to something much more bizarre. I think the game ‘Spore’ is probably the best analogy, where people can make creatures and they sort of walk or hobble based on how they’re built. This is the same notion, except much less automatic right now. The user has to define a little more about structure, muscles, and gait.

Why it Be – This is inspired first and foremost by my enduring love of doing horrible things to ragdolls, for which I make no excuses or apologies. The implementation is inspired especially by Cartwheel-3d, SIMBICON, and Philippe Beaudoin, and also by Ari Shapiro’s DANCE. The future goals of this are somewhere between Endorphin, Spore, and may also include possible robotics integration with Arduino. Ultimately I’d like to create a break-dancing robot army to help me stamp out tyranny, oppression, and tired dance moves.

This is the unexpected result of some of what I learned from the whole progranimation thing. I thought I would make a more complex pose-control system, but I ended up wanting to make a more generalized system that could work with arbitrary leg configurations. Originally I think it had something to do with making circuit components walk around on a circuit board but that’s another story, might still do that though. Anyway- this is actually a vastly simplified controller compared to Uno and Deuce in progranimation. No balance feedback, no uprightness vector, not even a collision sensor on the feet, it’s just proportional derivative controllers and a timed state-machine. It’s about the most bare-bones pose-controller I think you could make, but it’s still hilarious to watch it make stuff walk around. I hope to expand from here by giving the torso and legs considerable options as far as number of states, balance sensors, state-switching reactions, etc. First I wanted to get something functional and this is it.

I hope this will be useful and interesting, but it may take a little time to get a creature working. That said, it can be very fun and I hope I’ve made it easy enough to use that most Blender users can figure it out. Here are a couple of walk-throughs that demonstrate how the process works.

I. EDITING WALK STYLES – Changing the gait of a pre-made biped rig.

1) Download this file ProgrAnimals-I-biped.blend and open in Blender2.58a

2) Press ‘P’ to run game engine. Watch as very little happens. Press ‘ESC’ to stop game.

3) Select the iARMa-pg-0 armature (pose-goal armature). Switch to POSE MODE, and change the pose to something approximating this screenshot.

[Exact settings: BONE x|y|z rotation : THIGH0 -45|0|0 | SHIN0 90|0|0 : THIGH1 15|0|0]

4a) Run game again (P).

EXPLANATION: The left leg in the pose-goal armature is the ‘Swing Leg’, the right is the ‘Stance Leg’. They are the pose-goals that the leg will try to assume when in this state. Poses can also be stored in poseLib for convenience.

4b) while not bored: change settings; run game again (P).

5) Select the iARMa armature and switch to EDIT MODE.

6) Select each THIGH bone, change the bones Custom Property legstate = 0 on both.

7a) Switch to OBJECT MODE. Run game again (P).

EXPLANATION: legstate defines if the leg starts on swing or stance, setting both to the same makes the ragdoll jump.

7b) Change one thigh back to legstate = 1 (make the ragdoll walk again)

8} Select the iARMa-THIGHl-k empty (best to select from outliner). Look at the Scale values in the ‘N’ properties view. Change the ‘X’ scale to 10. Do the same on iARMa-THIGHr-k.

9) Run game again

EXPLANATION: The scale setting on these empties define the stiffness and damping parameters for their joints. See progranimation for a better explanation of PD controllers)

10) Edit the iARMa armature. Select the TORSO bone – change the bones Custom Properties: statetimer = .25; zgoal = ‘BALL’

11) Switch to OBJECT MODE. Run game again (P)

EXPLANATION: statetimer times the switch between states, zgoal defines the heading goal of the character. zgoal can be the name of an object or an angle in degrees using the prefix ‘a:’ ex. a:45



1) Download this file ProgrAnimals-II-quad.blend and open in Blender2.58a.

2) Select the iARMq armature.

3) In the script editor make sure the variable setupSEQ = 0. Run the script ALT-P. This script will add custom properties to the bones of this armature based on the names of the bones.

The script will use bone names as a starting point to setup constraints with axis and angle limits for standard joints. see code for values. THIGH, SHIN, FOOT, TOE, REVKNEE, just use these strings somewhere in the bone. The names aren’t necessary but they make setup much easier as they add the necessary Custom Properties to the bones.

statetimer: time to switch states
zgoal: goal in degress ‘a:45’ or object name ‘Cube’
legstate: leg start state (0-swing/1-stance)
legtype: type of leg config (for multi leg setups)
usebone: create box for this bone
xyzmin/xyzmax: values to be used to create 6dof rigid body joints
*usebone and legtype are the only values that cannot be modified after this step

4) Select the armature, enter EDIT MODE. Make sure Custom Properties were added to bones. Select the THIGH bones. Change the value of legtype so the front legs are ‘0’ and the back legs are ‘1’. This will let the program distinguish between the different types of legs and will create pose-goal armatures for each leg type. You can have as many types of legs as you want, but for now they only have 2 states each: swing/stance.

5) Switch to OBJECT MODE. Select the armature. In the script editor set variable setupSEQ = 1. Run the script. This will create the boxes and empties for each bone. Boxes are game objects connected by rigid body constraints. Empties define stiffness/damp gains at each joint with their xyz scale values.

6) Select the armature. In the script editor set variable setupSEQ = 2. This will create pose goal armature(s) to be used to define swing/stance state pose goals for each leg type.

7) Adjust pose-goal armature poses as desired. Press ‘P’ to run game engine.

8} Design a crazy five-legged monster and make it chase some other crazy thing around.

9) Game> Record Animation. Rinse, Repeat.

*Legs must at least have a thigh, the rest is optional. Feet are good to have though.
*Legs can be nearly any config as long as they do not branch (no double-footed legs or anything like that, a long tail is fine though).
*Use very short names on armature or bones, under 5 chars each (sorry).
*Do not use ‘-‘ (dashes) in the names of bones or armatures. I need those.
*The mass of each bone-box is determined by the length of the bone. This can make for very heavy limbs so you might want to adjust this. You may also want to change the shape of certain bone-boxes, that should work as long as you don’t change the origin.
*The settings created for THIGH, SHIN, FOOT, etc. are generic and can be changed to anything. The settings for each joint are combination of the rigid body constraint settings and the stiff/damp parameters. The initial setup of the rigid body constraint is defined by the xyzmin/xyzmax setting on the bone, you can change these Custom Properties before you create this bone-boxes, or you can adjust them in the constraint settings after they’re created.
*Characters should be created facing Y+ forwards.


III. TIMER OFFSET – Offsetting state switch timing.

This is a little cheat that offsets the state switch timing for a leg by a given amount. This allows sequential legs like the centipede guy, and galloping quadrupeds and whatnot. Setting it up can be a little tricky and depends on the creature design and the walk style you’re looking for.

Here is the .blend file with script with the timeroffset feature added. The example files for the previous tutorials do not have it. This file also contains all the creatures used in the demo video.

The timeroffset property is added to each leg bone in the armature when the first part of the setup is run (setupSEQ = 0). When the game objects are created the legs will use this bone property offset when that state is triggered.

That’s about it for the offset. It was a lot cheaper than breaking into more than two states and it works pretty well considering how simple it was to implement.



Creating the pose-goal armature in the setup (setupSEQ = 2) turned out to be a total fiasco. I had to con bpy.ops into making some bones for me and every once in awhile it just refuses. It’s a context thing but I never could figure out why it works sometimes and sometimes doesn’t. So enjoy that. If you have a problem with a rig, try it 3 more times, if it still wont work feel free to contact me, I’ll try to help you sort it out.


I may add notes here in the future when I think of them.

Hey, here’s something- you can ‘deadleg’ a creature by turning all the usebone bone properties to False in a leg. I guess you could make a limping zombie character or something, though you’ll have to compensate the stiff/damp on the other leg so it’s strong enough to carry the weight and the poses will have to be offset so he stays sort of balanced.

Notes – Once you start playing with pose-goals you may notice that there is something horribly wrong with the joint torques. An extreme pose can lift the character off the ground and fly (not in a cool superman way, more like falling up). Clearly this is not physics. Working on that.

Also the feet didn’t stick to the ground like I’d expect so i added a hack where the obj.setLinVel.x.y = 0 on the last object in the chain of the stance leg, which ends up being the toe if you have one. So even in flight forward momentum is lost to this bs-friction-hack. Later I might try adding material friction to the feet or something.

In the future I’d really like to improve the whole implementation in Blender but I think the key will be porting it to the animation system once we get rigid body dynamics in the physics system. It would be great to have these rigs interact more cleanly with other dynamics. I love the game engine but the ‘Record Animation’ thing makes this a really weird workflow, glad it’s there though.

Why No UI? – mostly because the whole setup script is kind of sketchy as it is, it randomly crashes if  you keep remaking ragdolls from the same armature for some reason. Plus these are program driven animations so I think if you’re going to use this for anything you’re going to have to get into the code eventually anyway.

Personal Request – If you make a cool critter with this please show me! A render is worth a thousand comments. Hope you enjoy!

Jul 022011

I should stow this until Atlantis is safely back on the ground, but I can’t stop braining so all I can do is write.

Everything is pointing towards this really being the beginning of the end. How many times in human history has a civilization put a mega-scale project down, and then actually picked it back up again?

After Atlantis lands, the U.S. will be unable to put a manned vehicle into Earth orbit, will be unable to performed extra-vehicular activities, and has no operational plans to recover these abilities in the future. The plan is essentially to rely on industry to provide these are commercial services.

Rather than focus on the Richard K. Morgan style sexually explicit gore of this nightmare- I’ll do something else.

I’ll tell you what I believe a planet of almost 7 billion people could do in one year.

We could effectively end hunger. With the cooperation of industrialized nations we could begin a systematic campaign to eleminate malnutrition world-wide. Beginning with focused internal national efforts to a) provide baseline nutritional needs to every human being within national borders b) begin massive peace-corps like employment/works campaigns to recruit those willing to bring this to the rest of the world. Beginning in the least-dangerous countries, work will begin to produce environmentally and economically sustainable crops locally using scientifically tested techniques. Moving to more difficult areas will require the potential use of intially overwhelming physical presence and economic force followed by sustainable presence and estabilishment of transparent, world-sanctioned food distribution practices to avoid the potential for local abuse. The absolute most difficult areas such as those in extreme isolation and repression as N. Korea will of course be a persistent problem that could make the goal of 1 year unachievable. However, as the credibility of a world-wide, well-supported anti-hunger movement grows, it may be more and more difficult even the most repressive regimes to deny the potential benefits to their people.
Those countries invested in ending world hunger must first end hunger in their own borders. This is crucial, but this really is the easy part. America has the resources to end hunger now, the only logistal factor in some cases would be finding it, but as the effort became established and sustained this would be less and less of a problem. I don’t feel I have to get into the possible political problems involved in getting this done in  the US, because those problems boil down to the fact that starving children cannot contribute campaign funds. One year, hunger has been defeated in N. America and Europe. Hunger in the rest of the world is getting really scared.

We could end the war on drugs. Actually this one is sort of wrapped up with ending hunger. Basically drugs from marijuana to lsd, cocaine to heroine will be regulated and taxed. Taxes will be used to fund drug rehab, education and
houseing for the non-violent drug offenders that will be released from prison, and of course, ending hunger. Additionally hemp will be re-intruduced as an industrual and food-crop. Hempseed will be used extensively in malnurished areas as it is a complete protein food. Once again special interests such as commercial prison services providers can suck eggs.

We could return to the moon, and launch a mission to mars. Okay, this ones a stretch I know, and I would rather not push a moon landing or mars launch date. I’m gung-ho but I want safe flights, rugged, tested hardware, and extensively trained crews, and I know that takes more than a year even for a return to the moon. Maybe 3 years for a moon return and 5 for a mars launch. That would require a total rededication of funds at least on the order of Apollo. It took 10 years from virtually nothing. For the return to the moon we could have a spacecraft designed in a year, built and tested in another year, and another year for more flight tests and crew training. Then the mars mission could build on that. So why should we? because last time we grew a pair we got ourselves a whole treasure trove of cool new technology out of it, plus a boat-load of science nerds that run university’s and big companies and fuel our economy.


[tminus t=”08-07-2011 15:26:46″ omitweeks=”true” style=”carbonite” id=”STS-135-Liftoff”]— LIFTOFF ATLANTIS!!! —[/tminus]

This really could be titled STS-1 – STS-135, but this is about the last flight of Atlantis OV-104.

Her first flight was on October 3, 1985. She was the last built of the original orbiters. The Endeavor was commissioned to replace the Challenger. Atlantis service time and flight record was second only to Discovery, with very similar statistics.

In 33 missions she helped repair Hubble and build the ISS, deployed 14 satellites including the Magellan and Galileo probes that surveyed Venus and Jupiter.

In a few days her engines will fire and she’ll ride 2,800,000 pounds of thrust into orbit one last time, carrying a crew of veteran astronauts
Christopher Ferguson, Douglas Hurley, Sandra Magnus and Rex Walheim.

This crew will dock with the ISS, deliver equipment and supplies to the ISS, then return to the Earth.

Then the United States of America will forfeit its capability to put human beings into orbit.

For the first time since Alan Shepard’s Freedom 7 Mercury Mission, America will have no flight-ready manned orbital spacecraft, and none in production.

Gus Grissom has something he’d like me to say for him:
“Hey you latte sucking gimps! I died so you yuppies could enjoy satellite radio and talking GPS in your goddamn BMW? Fuck that bull-shit! No fucking way. I died so that Neil, Pete, Dave, Eugene and all my buddies could be your eyes and ears in a place you dream of but cannot reach. I died so that America and the world could look at the stars and see a world waiting for them. I died so that we could begin a new age. Now you fucks have apparently decided the age I died to help create is a little too enlightened and you’d rather wallow in fear and consumption. You’d rather worry about patenting genes and making sure space is profitable.
Space is profitable – you fucks just don’t know how to count.
Grissom OUT!”

Ed White, Roger Chaffee, Vladimir Komarov, the crews of the Challenger, Colombia, and Soyuz 11 share similar sentiments as Gus.

t: +10:00
That’s what manned spaceflight is all about. Unfortunately that’s all there is. The human race will now crawl back into caves and trees and contentedly throw poo at each other. Sentience was fun, wish we could have made more of it.

t: +8:30
15,000mph. 3 good main engines, 3 good APUs, 3 good fuel cells. Standing by for MECO. MECO. ET sep good.

t: +4:30
Gimme MECO baby.

t: +1:40
21 high, 24 downrange, standby for SRB sep. Good sep.

t: +0:30
Roll program complete.

t: -0:10
Main engine start.

t: -0:30 – resuming
Good to go.

t: -0:31 – hold
Some kind of failure here. Doesn’t seem too substantial. Something with a camera? Did’n’t retract from the SRB or something?

t: -1:30 – counting
Florida’s seagull population is cowering.

t: -3:30 – counting
Gimbal check, I love that. Big ole bells, ring baby ring.

t: -5:00 – counting
Retracting that arm. Last time we’ll see that beauty on the pad. Such a calm leviathan, but no gentle giant.

t: -9:00 – resume count
Weather looks good. This is going to happen. Commander said this is only the end of a chapter of a story that will never end. I hope so, but what’s with the frequent and lengthy intermissions?

t: -12:00
Weather looks good from here, but I’m in Baton Rouge…

t: -05:00:00
I probably shouldn’t watch this launch. It’s very upsetting as it is. It has to be a perfect launch. It will be a perfect launch, a perfect flight, and a perfect landing.
I’m trying to stow my despair for now and concentrate on appreciating the people who are doing their finest work to manage this flight. But it’s hard not to think about what this means and get really pissy about it.
Makes you feel like we just don’t stand a chance. We didn’t care that much when they shut down Apollo either. If spaceflight can’t inspire us, we’re totally fucked. How is money supposed to inspire us more than this? Little kids aren’t supposed to dream about becoming millionaires, they’re supposed to dream about becoming doctors, scientists, astronauts.
I think maybe a society can be judged by what the majority of its kids want to be when they grow up. Ask around, see what we’re headed for.