Mainly because of my recent Chipmunk obsession...

see more crazy cat pics
BTW, I’m gonna call off Zyps physics/collision experimentation for now; I want to get fast/stable networking going in time for Desert Code Camp. I may not even mess with AreaOfInterest until after the camp, it depends what time allows for.
Read more...Betrayed!
GMail, how could you? I trusted you!
You take the e-mail I’ve been waiting on for 5 days now, the one I needed to plan life changes around, and you toss it in the spam folder?!
I will never love (a web app) again.
Read more...Ugh. Beware The Forbidden Kingdom.
Jet Li and Jackie Chan kicking each others’ asses is marvelous in concept (and in the one scene where it actually happens). Too bad most of the film is devoted to sending the Karate Kid back in time to ancient China. (Gee, wonder why that was missing from the previews?)
The scenes that don’t feature Ralph Macchio’s young clone are epic and beautiful. The scenes that do are too many to ignore.
Read more...Philistines...
( 0.000, -0.028) ( 0.000, -0.083) ( 0.000, -0.167) ( 0.000, -0.278) ( 0.000, -0.417)
Jay: Lookit! The Body’s falling!
Diana: It’s green text.
Jay: But it’s falling! There’s gravity! And it’s accelerating over time!
Diana: It’s only falling 5 times.
Jay: I can extend the loop!
[Diana walks out of room, shaking head.]
require 'chipmunk'
include CP
space = Space.new
space.gravity = Vec2.new(0, -100)
radius = 10.0
body = Body.new(10.0, moment_for_circle(15.0, 0.0, radius, Vec2.new(0, 0)))
ball = Shape::Circle.new(body, radius, Vec2.new(0, 0))
space.add_body(body)
5.times do
space.step(1.0 / 60.0)
puts body.p
endApparently the Scottsdale Chamber of Commerce’s Phoenix Young Professionals site was designed in Mumbai…
Get Phoenix: Growing * Emerging * Talent As a young professional, your career is very important to you. You are smart and ambitious - and you want to be recognized for your talents and your skills. We can help you GET ahead. ... Benefits to Employers: -Attract talented employees -Compete in the competitive marketplace -Develop their workforce of tomorrow ... About Young Professionals MEET THE NEXT GENERATION ... They are a very diverse group between the ages of 25-40, are self employeed, employeed or actively seeking employment.Read more...
My mother in law gave me a Bush Out of Office Countdown calendar for Christmas, with daily quotes that show the man really is stupid.
It has a little Bush waving goodbye at the bottom of each page, that progresses a bit further each day. And, oh, that progress is SO slow.
Read more...Doing a quick experiment with NetBeans...
Gods, it’s slow as hell on Windows.
Read more...Chipmunk
I didn’t really like that I was implementing my own collision detection and physics when so many other people were doing the same, and doing a better and faster job. Behaviors were always the main thing Zyps brought to the table, and yet I wasn’t getting to spend much time on them.
Chipmunk might someday fix that - it’s a 2D physics engine. You create a Body and place it into a Space (sound familiar?) and Chipmunk takes care of the interactions. If I create a Behavior that simply positions the GameObject and assigns its Vector as the Chipmunk Body tells it to, I should be set.
I’m not going to make it a Zyps dependency, though, nor am I even sure that ChipmunkBehavior will find its way into the main library. ProximityCondition should fulfill the needs of the simplest games, and I’ll probably point those who need something more robust in the direction of Chipmunk (or another physics engine).
Read more...Ker-squueeeeee-thumpthumpthump...
So evidently, about 3% of the fish species out there have mating calls. I don’t mean dolphins or whales, I mean fish, and I don’t mean pheromones released in the water, I mean actual sound.
Fish Sounds - Ocean Life - New York Times
The above article has a video interview and some audio clips; this is some really alien, bizarre stuff. They grind their own bones against each other, fart bubbles, and some even have structures akin to vocal cords.
Read more...I didn't know that!
I really need to re-read Chapter 22 of Programming Ruby, because there’s all kinds of gory Ruby details that didn’t stick the first time…
A statement may have an optional rescue modifier followed by another statement (and by extension another rescue modifier, and so on). The rescue modifier takes no exception parameter and rescues StandardError and its children. If an exception is raised to the left of a rescue modifier, the statement on the left is abandoned, and the value of the overall line is the value of the statement on the right.
values = [ "1", "2.3", /pattern/ ]
result = values.map {|v| Integer(v) rescue Float(v) rescue String(v) }
result # [1, 2.3, "(?mix:pattern)"]