Fighting in your house

Gabe Suarez has an article about fighting in your house.

Fighting in houses…or fighting in your house can take on many forms depending on your mission. Having clarity of mission is essential so you know how to comport yourself in each event.

While the article doesn’t discuss tactics or strategy, it does bring up contexts and situations. The article gives you a lot of things to think about, and it’s worth thinking about these things and role-playing through the situations now. If you do it now, you have a gameplan should it happen. If you wait until the shit hits the fan, you’ll be scrambling for a solution.

But while it’s good to drill into specific situations, I think what’s good to do in trying to solve those situations is to eventually seek the guiding principle. That is, the situations are specific and what happens when you find yourself in a situation you didn’t specifically prepare for? What to do? This is where you need to have a higher-layer of guiding principles. If you don’t know what your guiding principle is, going through the specific situations can help you find it — just see what and why you make the choices you do, look for patterns in your choices, then step back and get a higher-level view. Then test that principle out to see if it still holds in other specific situations. Continue to refine from there.

For myself, one guiding principle is protection of myself and my family. I was just thinking about this the other night. We were out at dinner. As I sat down I took a moment to orient myself to the room, including looking for exits. My family was with me… if something went down, my #1 task is to keep them safe (generally, get them out of the area). I have thought that if I could do something to stop the event yes I’d want to — I would find it hard to live with myself thinking “I could have done something” but didn’t. However, keeping my family safe is more important, and so that guides me and my decisions. I cannot go engage the problem if it means my family could be endangered. If I am alone, then things are different. But by the same token, is it more important for me to stop someone being stupid, or to ensure that I get myself home alive and safe so I can continue to work and provide for my family?

These are the things you have to figure out for yourself so you can know how you can and should react, should something happen.

Animaniacs Tribute

This is pretty cool. A 3-part video interviewing numerous key people in the production of the Animaniacs cartoon.

I love cartoons, and Animaniacs was one of the best cartoons of “the modern era”. It was funny, witty, irreverent (as much as they could be), lots of adult humor but not rated-R humor yet the kids could still get it. Slapstick comedy, just weird stuff (Chicken Boo), classic and modern references, and just some zany off the wall random stuff. Songs like “Lake Titicaca” which had no other point than “we like saying the words ‘titty’ and ‘caca'” — so wonderfully childish. The Wheel of Morality, which made fun of lots of things. The list goes on. It was such a joy of a cartoon.

I’m still watching my way through the videos. I did enjoy hearing the writers saying they had a lot of freedom and very little oversight. It shows. Often that’s how the best things are made: you get good, talented people and let them do their thing. You give them as much freedom and as little oversight as possible, and don’t filter or edit their creation down to a mere shell of the original.

Appreciation

We’re still living in our house while it’s being renovated.

Living room is dismantled, dining room, kitchen, master bedroom, other little things. We’ve basically moved into the kids’ bedrooms and took a few things with us, like coffee pot and microwave. Using paper plates and plastic utensils, making do with how things are. It’s cramped, unusual, boring. It’s only going to get worse as the week wears on.

But, you consider that there are people who live in such quarters every day. You consider there are people who live in worse conditions every day. After a week or so more, we’ll be “back to normal”, we’ll be moving things back in, setting back up, and going back to our lives. But others, their lives will remain as they are.

That I can do these renovations? I’m fortunate.

It’s been a good experience to make you step back and be appreciative and thankful for what you have.

Sunday Metal – Mötley Crüe, US Festival

Mötley Crüe performing “Livewire” at 1983’s US Festival.

What I love about this performance is it’s a band doing a live performance! They’re working the crowd, constantly. From the long opening segment, to throughout the song. Always interacting and involving the crowd. And for (then) such a young band. Speaking of that, I liked one thing Vince slipped in…. “Hey Tommy…. everyone on Mick Mars’ side of the stage…. everyone on Nikki Sixx’s side…”. Figuring they have fans in the audience, but that it’s also a huge festival, some people won’t know who they are… a chance to help the crowd get to know them and build connections.

And sure… they sound a little bit like shit… but this is a band playing live. No Auto-Tune, no backing tracks. Just the band playing live and raw.

Foot bath detox

I always wondered about those “detox foot bath” things. I figured it was bullshit. Yesterday something caused me to think about it again so I finally Googled on it, and here’s the science.

Again, I figured it was bullshit. If you can truly suck “toxins” and metals and other evils out of your body through your feet, well, skin isn’t a one-way door (and imagine how big your pores must be!). So just walking around means you’re sucking up G-d only know what. Plus then it means you could stand say in a spilled beer and get drunk, or maybe stand on a book and get smart. And it’s amazing that our entire insides don’t just slowly drip out through our soles. *roll eyes*   But while I figured it was bullshit, I was curious exactly what the chemistry was that was causing the reaction. And now I know what a magical parlor trick it is.

Here’s the obvious flag: any time someone talks about “toxins” and “ridding the body of toxins”, they’re full of shit. If something is truly toxic to our body, either you will die from it or our body’s mechanisms will get rid of it (e.g. that’s what kidneys and the liver are for, or immediate reactions like vomiting). All this “cleansing” bullshit is just that, bullshit. Drink enough water, let your body work. If it sounds too good to be true, it probably is.

Random stuff

I was supposed to head out to KR Training today to help with Basic Pistol 1 and Defensive Pistol 2. Would have been cool too (well, not the weather) to see Jay again.

However, due to all the home renovation work, plans changed and I was to stay home instead to help put things back together. You see, the kitchen was supposed to be “done” by Friday, but it’s not. Now, I’m not going to give the contractors a hard time. I’ve done a lot of projects in my day and I know how time estimates can go and how there are times you just don’t know how bad something is until you get into it. The cabinets are being painted and the wood has been soaking up the paint pretty heavily so it needs more coating than originally anticipated. So, it’s just taking time. No big deal, but it means the work scheduled for today (putting the kitchen back together) isn’t happening today.

So I could have gone out to KRT.

But earlier this week I did something to my left ankle and it’s been hard to get around. Spending all day on my feet at KRT would be the worst thing for me right now.

I guess somehow things worked out.

So instead, I think I’ll sit at my desk — because there’s few other places I can sit in the house — and work on some of my own software. I don’t want to talk about the future project, but I’m really hoping this one will pan out nicely.

All I’ll say is… if you’re a gun owner and a Mac user, let me know. I’d like to talk with you. 🙂

New Monster Magnet – finally!

Monster Magnet are one of my favorite bands.

Their website has long languished. But it seems that the old monstermagnet.net that Serge ran is gone and replaced with a new website at zodiaclung.com (old website redirects).

And a new album, “Mastermind” comes out in October.

Awesome.

I hope there’s a US tour to go with it. They’ve been spending most of their time in Europe and not-US.

Check this. “Nod Scene” (from the “Spine of God” album). No idea what the cartoon is, but it seems to go with the music just fine.

Hiding in the walls

So the house is undergoing renovations.

Look what we found during demolition:

Click to enlarge, if you need to.

Can you tell what those are?

They’re gecko eggs.

They pulled out the fridge, then pulled off the trim boards and that’s what they found hiding behind the trim board. Makes sense. It’s dark, it’s warm. Geckos are all over this part of the country, see them all over the outside of the house and every so often on the inside of the house (tho the cats take care of them very quickly).

If you think this is an “eeeewwwwwww!” moment, just let your mind wander with it a bit. If this is what you can find in your house, imagine what’s in place that you can’t find? In the walls, up in the recesses of the attic. The workmen tell me they’ve seen far more “interesting” things than this.

Just think about that as you’re falling asleep tonight. 🙂

Still can’t GetLabel()

So we’re at a point in our development cycle where we can finally upgrade our toolset. Installed Xcode 3.2.3, using the LLVM-GCC4.2 compiler, the 10.6 SDK, and setting 10.5 as our minimum OS.

Of course now I compile code and lots of OS function deprecation warnings come up. Time to clean up the source code.

If you need to obtain a Finder label, the old-school way was to use GetLabel(). Even today we still have to use GetLabel(), despite the fact they have deprecated it since 10.5. And while they deprecated it in 10.5, they didn’t provide a replacement API until 10.6. Unfortunately this replacement API isn’t 100% workable.

1. It’s an Objective-C API, in AppKit. Specifically: -[NSWorkspace fileLabels] (and -fileLabelColors).

The old API was a pure C API so you could easily use it anywhere, and we use it in a pure C++ library. Fine. I can create a .mm file with an extern “C” function to provide my own C wrapper and mimic GetLabel()‘s API. But it’s just extra work.

2. It’s only available as of Mac OS X 10.6.

It’s not a huge problem, but it’s irritating they deprecate the old way and didn’t provide a new way until the next OS revision.

3. -fileLabels crashes.

Isn’t that wonderful? They provide a new API and the new API doesn’t work.

And it’s not like it’s any sort of difficult API to work with either. It’s just a simple call.

But how can you get it to crash? Simple. Call [[NSWorkspace sharedWorkspace] fileLabels] 3 times. The first time will be OK. The second time might generate the crash but could also just generate console messages. The third time, you should crash or certainly generate bad messages in the console. If you didn’t crash the third time, certainly on the fourth you should. But typically 3 calls and boom.

-fileLabelColors doesn’t have this problem.

Investigating it, it seems there’s something being double-released/freed/deleted inside of -fileLabels. You can turn on garbage collection and it won’t crash, but lots of ugly console messages are generated.

What also bugs me? How did this API ship with such a bug?  Didn’t they test it? Didn’t they unit test it? Did they only test it under garbage collection? Did they write the API only for the Finder and figure if the Finder wasn’t crashing that was a good enough test to say a public API for the OS would work?  I mean, I can understand complex bugs, I can understand how code paths can be what they are and how bugs can ship (been a professional software engineer for over 15 years). But something like this? I can’t see how this managed to get out the door.

*sigh*

rdar://problem/8301881 Seems it was also reported as rdar://problem/8084710.

So… there’s no GetLabel() replacement for me until they fix it, 10.7 if I’m lucky. Yes I’ve considered other workarounds, no they won’t work in my particular context, or with a lot of work I could get it working but it’s not mission critical and I have bigger issues to deal with.

Updated: Apple DTS wrote back saying this is a known issue being tracked under its original number: rdar://problem/7287108, which as you can see is at least the third report of the problem. So we can only hope Apple’s going to fix it, but I bet we won’t see it until 10.7 at the earliest.