The waiting is the hardest part.

With apologies to Tom Petty.

That’s all I’m doing right now. Waiting.

Waiting to see how much it’s going to rain this weekend.

Waiting for Apple Developer Technical Support to get back to me with answers to the problems I’m encountering in the product I’m working on.

Waiting for the updated documentation to be delivered so I can integrate it into the product.

Waiting for the work day to end so we can attend my church’s parish fair. Which also means about the only time with the Wife and Kids this weekend. So, waiting on being able to spend my time with my family.

Waiting for the main event of my weekend to start.

Just waiting….

As long as I’m thinking about the Combined Skills class….

What do I want to get out of it? Education. Tom Givens and SouthNarc are among the best in their field. I just want to learn. I just want to further my skillset. I want to open my mouth as little as possible and open my ears and mind as much as possible.

And if it’s raining a lot, that I don’t flub up my draws too much. 🙂

Seems it’s not a new idea after all

Much has been said about the Ka-Bar Pistol Bayonet.

The most popular statements tend to be things like: this is stupid, I don’t get it, WTF?, and so on.

But apparently Ka-Bar is selling a lot of them and laughing all the way to the bank.

I admit, I don’t get the appeal either.

Checking the mailbox this morning, my TSRA 2010 calendar arrived. Flipping through it, the theme this year is very old and odd guns (May 2010 is amusingly odd). Quite cool.

What do we get for Miss July?

My apologies for the poor quality. I no longer have a scanner so I had to take a picture with my iPhone. Still, you should be able to make out the important bit.

The spring-loaded bayonettes.

On a gun made circa 1820’s.

There are no new ideas. We just keep reinventing and rehashing old ones. 🙂

Regina Brett’s life lessons

My Dad emailed me this list of “Regina Brett’s 45 life lessons.” It was a bit cheesy, sappy, and schmaltzy, but it did have some legitmate bits of good advice in there. Of course, I wanted to see if it was a legit listing/attribution because if it’s on the Int3rw3bz you know it’s true.

Seems to be legit. Plus, Ms. Brett expanded the list a bit to 50 life lessons, or maybe 45 life lessons and 5 to grow on. Maybe just consider this another list of “things everyone ought to know” or perhaps “lessons everyone should learn in life.”

1. Life isn’t fair, but it’s still good.

2. When in doubt, just take the next small step.

3. Life is too short to waste time hating anyone.

4. Don’t take yourself so seriously. No one else does.

5. Pay off your credit cards every month.

6. You don’t have to win every argument. Agree to disagree.

7. Cry with someone. It’s more healing than crying alone.

8. It’s OK to get angry with God. He can take it.

9. Save for retirement starting with your first paycheck.

10. When it comes to chocolate, resistance is futile.

11. Make peace with your past so it won’t screw up the present.

12. It’s OK to let your children see you cry.

13. Don’t compare your life to others’. You have no idea what their journey is all about.

14. If a relationship has to be a secret, you shouldn’t be in it.

15. Everything can change in the blink of an eye. But don’t worry; God never blinks.

16. Life is too short for long pity parties. Get busy living, or get busy dying.

17. You can get through anything if you stay put in today.

18. A writer writes. If you want to be a writer, write.

19. It’s never too late to have a happy childhood. But the second one is up to you and no one else.

20. When it comes to going after what you love in life, don’t take no for an answer.

21. Burn the candles, use the nice sheets, wear the fancy lingerie. Don’t save it for a special occasion. Today is special.

22. Overprepare, then go with the flow.

23. Be eccentric now. Don’t wait for old age to wear purple.

24. The most important sex organ is the brain.

25. No one is in charge of your happiness except you.

26. Frame every so-called disaster with these words: “In five years, will this matter?”

27. Always choose life.

28. Forgive everyone everything.

29. What other people think of you is none of your business.

30. Time heals almost everything. Give time time.

31. However good or bad a situation is, it will change.

32. Your job won’t take care of you when you are sick. Your friends will. Stay in touch.

33. Believe in miracles.

34. God loves you because of who God is, not because of anything you did or didn’t do.

35. Whatever doesn’t kill you really does make you stronger.

36. Growing old beats the alternative – dying young.

37. Your children get only one childhood. Make it memorable.

38. Read the Psalms. They cover every human emotion.

39. Get outside every day. Miracles are waiting everywhere.

40. If we all threw our problems in a pile and saw everyone else’s, we’d grab ours back.

41. Don’t audit life. Show up and make the most of it now.

42. Get rid of anything that isn’t useful, beautiful or joyful.

43. All that truly matters in the end is that you loved.

44. Envy is a waste of time. You already have all you need.

45. The best is yet to come.

46. No matter how you feel, get up, dress up and show up.

47. Take a deep breath. It calms the mind.

48. If you don’t ask, you don’t get.

49. Yield.

50. Life isn’t tied with a bow, but it’s still a gift.

Mac OS X x86 debugging

It’s been ages since I’ve had to do anything dealing with assembly language. And while I may not have to do much programming in it, it’s still a useful thing to know when it comes to debugging.

Today I’ve been trapped in debugging hell. We’ve got some code that works fine on Mac OS X versions prior to Snow Leopard (10.6) but seems to hang under 10.6. The code flat out executes differently. I watch how our code is invoked and things just don’t happen in the same order across the OS versions. Apple must have done some major under-the-hood changes to NSBrowser and NSTreeController. And since we’re using Cocoa Bindings, it’s a bitch to debug. Everything that’s happening is happening because of Key-Value Observing (KVO). I get somewhere into the bowels of NSBrowserBinder and it appears to be looping… looping… and never exiting the loop for some reason.

Now that we’re in the new x86-based world order of Macs, I went looking for some tips to help me work with debugging the x86 assembly so I could see what the OS was doing. I found a few useful resources.

Greg Parker at the Hamster Emporium has a great article about crashing in objc_msgSend and how to decipher the crash. I wasn’t crashing, but still there are some nice gdb commands and interpretation of the registers.

Then over at the Google Mac Blog, a 2 part article on spelunking. Part 1 and Part 2. These aren’t debugging articles (more like trying to hack around and discover how undocumented functions work), but they still explain a bit about how the x86 ABI works, AT&T syntax, and how Mac all mesh together. Note that Avi Drissman previously published the same article in his own personal blog, but edited it a bit for republishing in the Google blog.

Clark Cox provides a handy table on how to inspect Objective-C parameters in gdb.

And you thought the only thing I knew how to blog about was guns. 😉

How to manage geeks

An article from Computerworld on how to manage geeks.

Speaking as a geek, I can say that article is sound. Old school management practices will not work. Once you understand the geek, you’ll see that typically the best thing to do is let them do their job… get out of their way, shield them from crap, do things to enable them to get their work done.

And then we shall… and it shall be productive and glorious. 🙂

Too late?

Via Robbie I find an article from Salon by Camille Paglia. Read that bio if you don’t know who she is as it frames her article.

Some choice quotes from her article:

But this tonic dose of truth-telling may be too little too late. As an Obama supporter and contributor, I am outraged at the slowness with which the standing army of Democratic consultants and commentators publicly expressed discontent with the administration’s strategic missteps this year. I suspect there had been private grumbling all along, but the media warhorses failed to speak out when they should have — from week one after the inauguration, when Obama went flat as a rug in letting Congress pass that obscenely bloated stimulus package. Had more Democrats protested, the administration would have felt less arrogantly emboldened to jam through a cap-and-trade bill whose costs have made it virtually impossible for an alarmed public to accept the gargantuan expenses of national healthcare reform. (Who is naive enough to believe that Obama’s plan would be deficit-neutral? Or that major cuts could be achieved without drastic rationing?)

We all knew years ago that the mainstream media was no longer a source of true journalism. They’ve got agendas to push, like everyone else.

By foolishly trying to reduce all objections to healthcare reform to the malevolence of obstructionist Republicans, Democrats have managed to destroy the national coalition that elected Obama and that is unlikely to be repaired. If Obama fails to win reelection, let the blame be first laid at the door of Speaker of the House Nancy Pelosi, who at a pivotal point threw gasoline on the flames by comparing angry American citizens to Nazis. It is theoretically possible that Obama could turn the situation around with a strong speech on healthcare to Congress this week, but after a summer of grisly hemorrhaging, too much damage has been done. At this point, Democrats’ main hope for the 2012 presidential election is that Republicans nominate another hopelessly feeble candidate. Given the GOP’s facility for shooting itself in the foot, that may well happen.

I fear that as well. Nevertheless, the Dems cannot get cocky and think their jobs are a lock. I’ve already heard mutterings like “force it down our throats in 2009? We’ll shove it up your ass in 2010.” The 2010 Congressional elections aren’t too far off, and while it’s only a midpoint for President Obama, it’s going to be one heck of a barometer. Plus if the Democrat majority in Congress gets lost in the election, that will have huge impacts as well. Maybe that’s part of why they’re trying to shove all their pet legislation through now, while they have the short window of opportunity.

*sigh*

Yes, that’s the responsible way to legislate.

Why did it take so long for Democrats to realize that this year’s tea party and town hall uprisings were a genuine barometer of widespread public discontent and not simply a staged scenario by kooks and conspirators?

They’re that out of touch.

Why has the Democratic Party become so arrogantly detached from ordinary Americans? Though they claim to speak for the poor and dispossessed, Democrats have increasingly become the party of an upper-middle-class professional elite, top-heavy with journalists, academics and lawyers (one reason for the hypocritical absence of tort reform in the healthcare bills). Weirdly, given their worship of highly individualistic, secularized self-actualization, such professionals are as a whole amazingly credulous these days about big-government solutions to every social problem. They see no danger in expanding government authority and intrusive, wasteful bureaucracy. This is, I submit, a stunning turn away from the anti-authority and anti-establishment principles of authentic 1960s leftism.

Quite true, and I’ve wondered that myself. I’ve never seen such a group of millionaires that claim to understand “the little people” as much as them. But what’s worse is how those little people believe them. Ah wait, she addresses this further down:

But affluent middle-class Democrats now seem to be complacently servile toward authority and automatically believe everything party leaders tell them. Why? Is it because the new professional class is a glossy product of generically institutionalized learning? Independent thought and logical analysis of argument are no longer taught. Elite education in the U.S. has become a frenetic assembly line of competitive college application to schools where ideological brainwashing is so pandemic that it’s invisible. The top schools, from the Ivy League on down, promote “critical thinking,” which sounds good but is in fact just a style of rote regurgitation of hackneyed approved terms (“racism, sexism, homophobia”) when confronted with any social issue. The Democratic brain has been marinating so long in those clichés that it’s positively pickled.

Going further into the healthcare debate:

By a proportion of something like 10-to-1, negative articles by conservatives were vastly more detailed, specific and practical about the proposals than were supportive articles by Democrats, which often made gestures rather than arguments and brimmed with emotion and sneers. There was a glaring inability in most Democratic commentary to think ahead and forecast what would or could be the actual snarled consequences — in terms of delays, denial of services, errors, miscommunications and gross invasions of privacy — of a massive single-payer overhaul of the healthcare system in a nation as large and populous as ours. It was as if Democrats live in a utopian dream world, divorced from the daily demands and realities of organization and management.

Amen to that. But that tends to be how many arguments tend to go. If you can’t back it up with facts, make emotional appeals. While emotions are important, it’s generally bad to establish law and policy upon them. Just like with gun control, most of what the pro gun control folks spout are emotional appeals. When you look at the facts, it doesn’t add up.

Thankfully, Ms. Paglia also takes the Republicans to task:

Having said all that about the failures of my own party, I am not about to let Republicans off the hook. What a backbiting mess the GOP is! It lacks even one credible voice of traditional moral values on the national stage and is addicted to sonorous pieties of pharisaical emptiness. Republican politicians sermonize about the sanctity of marriage while racking up divorces and sexual escapades by the truckload. They assail government overreach and yet support interference in women’s control of their own bodies. Advanced whack-a-mole is clearly needed for that yammering smarty-pants Newt Gingrich, who is always so very, very pleased with himself but has yet to produce a single enduring thought. The still inexplicably revered George W. Bush ballooned our national deficits like a drunken sailor and clumsily exacerbated the illegal immigration debate. And bizarrely, the hallucinatory Dick Cheney, a fake-testosterone addict who spooked Bush into a pointless war, continues to be lauded as presidential material.

I couldn’t agree more. I know folks tend to see me as a Democrat/Liberal/Obama basher, and certainly I am critical of them. But that doesn’t mean I’m a Republican/Conservative/Bush lover. I think they suck too. I think the whole “preservation of marriage” stuff is a load of crap — it’s nothing more than anti-homosexual standpoints, because if you really cared to preserve marriage then you’d work on that ugly divorce rate between heterosexuals first! That’s far more a threat to the “sanctity of marriage” than any homosexual ever would be. The PATRIOT Act… don’t get me started on that.

Anyway, heck of an article from Camille Paglia. Go read it.

Combined Skills prep

The Combined Skills class is just a few days away.

I know there are slots still open for the class, but in all honesty I hope the class stays as small as possible. I know, selfish of me to say, but if there are fewer people it means a better teacher-to-student ratio. Better chances for more direct instruction, more time with eyes on me to help teach me and correct my problems, and hopefully more time on the line… don’t have to have 3-4 groups to rotate through, maybe just 2 groups.

But on the same token, I want to ensure that Tom Givens, SouthNarc, and Karl Rehn all get paid for their time and effort, enough to consider it worthwhile to do this again in the future.

That all said, foo.c and I have been preparing for the class. The weather is looking mixed. Temperatures should be pretty good, probably in the high 80’s to low 90’s at most — far better than the mid-100’s we’ve been dealing with all summer long. But rain chances continue to rise. While in some respects training in the rain will be good for us, I also don’t know how much it might screw with the class running smoothly or if it might flat out change some things done in the class… the weather may prevent certain things from being done at all. I don’t know, just have to wait and see. The way the rains tend to be working is heavy and sporadic. So some place will get dumped on for an hour, then that’s it for a while. But it can vary as some spots get nailed for a long time and get a lot of water dumped. This morning, the town of Wimberley (a bit south and west of me) got 3-4″ of rain just this morning. Ouch.

Consequently, a lot of foo.c and my planning is around the rain. Bringing additional guns, hoping for a chance to clean/dry the guns out during the course to contend with rust, bringing multiple changes of clothing in addition to rain gear and towels. It’s going to be… interesting.

I’m looking forward to it tho. It should be quite an educational experience. Long and tiring, but educational.

Why did Apple do this?

No sorry… nothing about today’s Apple fan-boy event. More as to why I didn’t post much today.

Apple’s new OS version is 10.6, named “Snow Leopard.” Snow Leopard brought about a lot of under the hood changes to the OS. One of them is fairly well covered on this page of the Ars Technica review.

Basically, Apple did some stuff very very low level to help with reclaiming some disk space but also taking advantage of the volume format layout of HFS+ and how they can use that to their advantage to speed things up… RAM and CPU’s are wicked fast these days, and disk drives are still abysmally slow by comparison (physics can only go so far). So Apple did some neat things to improve speed and access times, and for the most part it works out great. Most people will never notice.

But in the line of work I do… I’m not most people.

The software I develop in my day job does a lot of working with the file system. So all of these changes that Apple made are actually wreaking havoc and hell on me right now. Long held maxims like a file’s logical size will never be larger than its physical size…. out the door. That calculating sizes is now base-10 instead of base-2 (i.e. 1 kilobyte is now being calculated as 1000 bytes instead of 1024 bytes)… changes a lot of things.

I’ve been reevaluating our entire codebase (which is huge) and this just doesn’t play well with us. All I can do at this point is formulate a lengthy email to Apple’s Developer Technical Support and ask for some help and guidance.

It’s been a trying couple of days.

I’m glad I have Kali class tonight. That should relieve a little stress. 🙂