About this site -- This site is a place to keep and share
the somewhat random musings, rants, and observations which otherwise clutter my brain. I hate clutter.
Comments Policy -- Comments will never be censored based on political or ideological point of view. However, comments will be deleted that are abusive, off-topic, use excessive foul language, or include ad hominem attacks. Comments are pre-moderated, meaning they will not be posted immediately.
He went to a Pep Boys, where he swiped some gum, according to a store worker. The boy then hiked to a RaceTrac gas station where he stole a soda, according to investigators.
His walk then led to a Hooters restaurant where employees gave him a coloring book and soda pop to drink and called police.
The child was not hurt and he was released to his father.
How proud was his dad? His boy broke out of that sissy day care, made a bee line for an auto parts store, then a gas station, and ended up at Hooters where he managed to get lots of staff attention. [insert Tim Allen "more power" noises here]
If you've ever had the misfortune joy of working with the marketing department of any large company, this video will either make tears come out your eyes or milk come out your nose.
If you think Cha Cha is just one more dance you wouldn't dare attempt in public, then you're not a geek. Not a lazy geek anyway. Cha Cha is a human powered search service. That is, you send in a question, and literally seconds later (okay, maybe a couple of minutes) the service responds with an answer. The answer is provided by an honest to goodness human being at the other end of the wire. Someone on the staff searches the web for the best answer they can find and sends it back. You can even reply to the reply if you don't quite get the info you need, and ask for a clarification.
The really cool part of this is that in addition to entering questions on their website, you can text in questions from your phone by sending them to the number 242242. It counts as a text message, but no additional charges apply for using the service. Often this is much handier than trying to surf for answers on your tiny WAP browser.
This can be really useful when you're hankerin' for Kung Pow Chicken at 4am in a strange neighborhood. This is presumably how they pay the bills. The service is free, so I gotta believe that vendors are paying to be top of the list of pizza joints they recommend. They will even pay you (not much) to be one of their agents if you have mad web searching skills and a lot of free time on your hands.
I've been playing with the service on and off for awhile. Obviously, the more specific the question, the better the answer you'll get. Ask where the nearest gas station is to your location, or how many teaspoons in a tablespoon and you'll get a prompt and specific reply. Ask for the meaning of life, or why bread always falls on the buttered side, and you'll get a slightly more frivolous response. But in my experience, always a polite and prompt one.
All of which brings me to tonight. I'm planning to put a bathroom into the new bunkhouse we're building at the cottage. I was going through the work in my head and realized I didn't know where to position the toilet flange in the floor. I've never plumbed one in from scratch before. However, every toilet I've ever replaced just seemed to fit on whatever flange was already there, so I assumed there must be a standard offset. I was about to search for an answer when I thought about Cha Cha. This was a specific, but hardly a common question. I wondered how they'd do, and further, I wondered if I could beat them to the answer. So I texted the question:
How far from the side and back walls should a toilet flange be installed? (in USA if it matters)
I gave them a 30 second head start and then fired up my browser. I had found an answer but was trying to verify it when Amanda responded to me with the following somewhat mystifying answer:
A toilet flange should be about two bays from the walls. Thanks for using ChaCha!
Huh? "Two bays?" I was clearly expecting inches, but would have settled for centimeters, micro-furlongs, or even fractional cubits. But how do you measure a bay? Now the gap between floor joists is sometimes called a bay, but with 16" centered joists leaving a 2 bay gap would put the center of the toilet between 3 and 4 feet from the wall. And that didn't make any sense as a side wall clearance at all since you can't cross joists in both directions. Clearly some clarification was needed. So I responded back to Amanda:
"2 bays"?? I was kinda hoping for something in inches or any other standard unit of measurement.
To which she gave the snarkiest answer from the service I've received so far:
I do not know what you are asking for. Be more specific next time!
Ummm... okay. Obviously when asking for a distance, expecting the distance to be conveyed in a reasonably common unit of measurement is not implied. But I'm game. So I send back:
Sorry, I just dont know how big a bay is. Can you provide a conversion factor to something more common?
Which resulted in the unexpected answer:
Sorry, I don't know what the hell a bay is either, and apparently neither does Google.
So there you have it. Position your toilet exactly 2 bays from the wall. Extra points for any reader who can find the reference she located to find that helpful factoid. So far I haven't been able to find it.
This was a piece I originally wrote for a different blog which has since been shut down, so it won't get posted there. I hate to waste all that effort though, so I'm posting it here. And yes, I previously posted the video output from this process here, but this is the back story -- sorta.
My son is a huge fan of most anything animated. A typical weekend morning finds him on the couch in a near comatose state staring blankly at the Cartoon Network on TV. It doesn’t matter which cartoon is on, just that one is. Were it not for the preternatural siren’s lure of frozen waffles in the kitchen beckoning him out of the living room, he’d be there until deep in the afternoon.
It was only natural then to think of him when I started toying with the idea of animating still photographs. But maybe I’m getting ahead of myself. You see, the practical line between videos and still images is eroding. Most any digital camera will capture stills or video, and most any digital picture frame will display both. I’ve seen people take a short video clip rather than taking several photos, and a burst mode camera takes several stills that when combined sequentially amount to video. Further, it’s easy to take a still from a video by simply extracting a frame. But how might you take a still photograph and make it a video? That was the missing link to be found. How could I take that lifeless motionless lump on the couch, and make him into the cartoon that he so admired?
I researched the topic for awhile and stumbled across the idea of digital puppetry. Digital puppetry is the manipulation of digitally animated figures. It differs from traditional computer animation in that the characters are manipulated in real time rather than frame by frame. It is generally considered a form of machinima. Digital puppetry can be done using full 3D character models. Fortunately though, digital puppetry can also be applied to 2D images. The result is a sort of “Harry Potter picture” effect—a photograph that moves somewhat like a short video clip. A version of this technique was used to create the E-Trade commercial with the talking baby that ran during the Superbowl. But that animation used digital puppetry on a video source, which required some very high-end expensive commercial tools and a lot of talented artists to create it. Unfortunately, I lack that kind of budget, and frankly, that kind of artistic talent. However, some more digging found a much more reasonably priced tool that started from a 2D image source and seemed pretty easy to use. The tool is Reallusion’s CrazyTalk5. The system does its best work with more cartoonish animations, but with a little care it works well with photographs of real people.
I ran the idea for the project by my son, and he thought the whole concept was pretty darn cool and readily volunteered his image and voice for the project. We were ready to begin.
The process starts with selecting an ordinary digital photo. The photo needs to have a subject with an unobstructed forward looking face, but otherwise can be anything. It doesn’t even need to be human. After searching my picture archive we settled on a depiction from his school’s Wax Museum exhibit from a couple years ago. The museum is an annual happening where the kids all need to dress up as historical figures and pose for photo-snapping parents. My nerd-ling opted to be Albert Einstein. Go figure.
The likeness is uncanny, don’t you think?
Next I needed an audio clip. I wrote a short script based on a quote attributed to Einstein and got my son to perform it into a microphone. Clearly his participation in drama club was paying off.
I now had the fodder ready to feed into the tool. Creating an animation started with cropping the photo since I was only going to be animating the head. Then I needed to construct a detailed face map by identifying the points of interest for animation. You can see that the majority of points are on the eyes and mouth as they are among the more expressive features. But the eyebrows, chin, and nose also get identified. From all of this data, areas such as the cheekbones and jaw line are automatically identified for animation as well.
Next, the image is masked to separate the background from the character.
This is not always necessary, but I wanted to provide a more interesting setting than the darkened school stage in the original photo. So I selected an Einstein-ish space-time poster.
The masking also helps to more cleanly delineate the edges of the animation.
At this point, I had a useable animation model to work with. What remained was the puppetry part. Puppeteering is the creation of a script, which is started by marrying the audio file to the model. The tool provides automated lip syncing based on the audio used. It also provides puppeteering controls which allow the addition of tracks controlling expression, eye movement, head movement, and camera controls. This is all built up in successive layers. The process is somewhat akin to image editing in tools like PhotoShop where imaging layers are created independently and then merged to create the final product. The difference is that this layering has a time component to it in addition to the visual and audio components.
The result can then be exported to a video file for viewing, sharing, or even saving it for future threats to trot it out for the purpose of creating an embarrassing moment in front of the victim’s subject’s friends.
The process is capable of much more extremes of expression, but the results begin to wander from the photorealistic to the cartoonish. That’s not always a bad thing. Given that the technique can animate your cat or some of the artwork on your fridge, this can definitely be a feature.
There are obvious opportunities to simplify and automate steps of this process, but even with this tool set, the task is well within the reach of most digital photo enthusiasts. And it wouldn’t take a whole lot of imagination for this to be a really interesting application for still photos. This is like JibJab on steroids. Wouldn’t history class have been more interesting if Tom Jefferson told you about it himself? Surely there’s something you’ve always imagined your spouse/child/mother/boss saying to you. Now you can arrange that! You can even post it on YouTube as evidence they did.
Personally, I’m thinking of putting together a conversational AI engine behind an animation of myself so I can haunt proffer advice to my children long after my death. Kind of like Jor-El did for Superman—give or take the glowing crystals. It‘s the least I can do since I can’t figure out how to give them super powers.
Beware of Radical Black Muslims Running for President
John Stewart points out far better than I could how ridiculous the uproar is over the recent New Yorker cover cartoon depicting the Obamas' if full-rumor dress. I'm beginning to think that 24-hour news channels should be outlawed, or at least disincented to manufacture news to fill the time slots.
I own a Waverunner. That is to say, I possess legal title to a personal watercraft which bears the trade name "Waverunner." It should not imply that the 21 year old fiberglass beastie is actually capable of running waves, or apparently even running... at least any more.
This critter is ancient by personal watercraft standards. It was the original model in the entire world of jet-pump powered PWCs. But with a (theoretical) top speed of 36 mph, it pales next to its modern kin who are capable of hauling 3 people at 80 mph. You might think it should be retired to a museum, but it's far too worn for that fate. It shows its age. Every year I wonder if I'll get one more season from her.
I pulled her out of storage this past weekend and prepped her for another year. She labored to start, but eventually did. Satisfied that I'd ducked a bullet again, I went into the cottage for dinner. Afterwards I thought I'd just pop her in the water and take a quick spin up the lake to see if she was running okay. I was only intending to be gone a few minutes, so I didn't bother to tell anyone, I just rolled her down to the lake and hopped on.
She fired up immediately and we scooted off. However, not far up the lake, I thought I heard the engine acting funny. I figured I should head back and eased up on the throttle to turn around. And she died. No amount of coaxing was going to get her to start again. It was at this point that I realized that:
a) I was a good mile from the dock b) I was an idiot for not telling anyone where I was going
Fortunately, I wasn't too far from shore, so I hopped in and pushed the small boat to the edge. I opened the engine compartment, but armed only with a life jacket and a pair of shorts, I was pretty sure even MacGyver couldn't have fixed this. Which left me to consider my options. I thought about walking back to the cottage, but that would actually be several miles of walking given the way the lakeshore and roads ran at that point. It was late in the day and if I wasn't back before dark, people would start to get worried. And what if they did come looking for me and just found the boat abandoned on the shore?
I looked down the lake and could just make out our dock. Also, this was a fairly busy channel and a holiday weekend. I had certainly rescued my share of boaters over the years, maybe it was just time to even out the cosmic karma. So I decided I would push the boat back out into the channel, climb on, and wait to be rescued. Someone could tow me back to shore and maybe I wouldn't even have been missed yet.
However, after 10 minutes of bobbing on the waves, it was pretty clear that everyone else on the lake was at dinner. There wasn't a boat in sight. So I figured, rather than just sit, I'd start making my way back as best I could and hope to be rescued along the way. I hopped in again and started swimming and pushing the boat in front of me. The minutes ticked by... still no boats in sight. Finally a Bass Boat was coming in the other direction. He was cutting a serious rug though and didn't even look in my direction as he blew by me. He obviously had not seen the boating commercials where they make it clear that boating ettiquite requires that you look at and wave to every fellow boater on the water. Especially the ones who are pushing their damn boats!
I was swimming with the wind which was a definite help, and after a fashion at least got back close enough that I was swimming by cottages on our road. One lady seemed to come out on her deck and watch me, but as there was no boat in front of that cottage, I didn't hold out much hope. Finally, when I got to within 100 yards of our dock, two guys spotted me and jumped in their boat to make a rescue. While they didn't take me far, it was still a welcome hand. It had been a long swim.
And when I got back, while everyone was glad I was okay, I took a well deserved lashing for my foolishness of not filing a flight plan with the tower before departure. I freely admit that I'm serving as a bad example to the kids.
As for the boat, the intake manifold stud sheered off which left the carbeurator a bit floppy. That remains to be fixed, but it is fixable. So in all liklihood, the ancient sea creature will rise again to creak across the waves... per chance to run them now and again.