Friday, July 31, 2009

Security through the Ming Dynasty

Planned Security

My expertise is languages, not security, but I thought this one analogy was illuminating.

The Great Wall of China is a misnomer. The Great Walls of China is correct, as their are many of them, built over about 2000 years ending in 1600 CE. The map below is a fraction of a map from Wikipedia.





The Chinese patched weaknesses as they were discovered over twenty centuries. With the advantage of hindsight, it does look like an organized, cohesive plan might have been more effective and a great deal less expensive. Does this look like our current security arrangements?

In my office I have one main Windows machine (XP Pro) and one main Linux machine (KDE). I have NAV on the Windows machine and I pay for its regular updates. I have nothing equivalent on the Linux box as no anti-malware software exists.

Chrome

ZD report on Chrome

Across the pond, the ZD folks are doing good work! This covers Chrome, the vaporware OS, and Chrome, the shipping browser. In my own browser testing, valid Firefox is valid Chrome.

Thursday, July 30, 2009

Embrace Chaos

Business News:

Bartz: "no bull---t". Ballmer: "no bull---t" Bartz and Ballmer with Business Week

SketchUp:

Rubies rule. I can say no more.

Crystal Ball:




"Martin, you've gotta come in here. I just lost another one of my best coders because we're a Java shop."

"Sure, Al. You know my rates?"

Fast forward to 8 A.M., next Tuesday. Al's conference room. CIO and his senior staff know they have a problem.

"Martin, we started as a Cobol shop. That worked pretty well until the Internet took off. So we went to Java. That was fine last century, but sticking with Java is costing us some of our best people. You know about these newer languages. What's happening?"

"You're a Java-only shop?"

"Pretty much."

"That means you don't have any databases?"

"Of course we've got databases. Too damn many if you ask me."

"OK, so you're a Java and SQL shop."

"I hadn't thought about it that way, but I guess that's right."

"And you're not yet on the Internet?"

"What the hell do you mean? Of course we're on the Internet."

"OK, so you're a Java and SQL and HTML shop."

"Yeah, that's true."

"But you've stayed away from dynamic web pages. Nothing 2.0 going on?"

"Martin, it's 2009. You know we're not stuck in the last century."

"Actually, I spent some time at your site. You're a Java and SQL and DHTML and CSS and JavaScript shop. Everyone understands that Java and JavaScript are entirely separate languages?"

All concur.

"Al, I'd say for starters that you are definitely NOT a Java-only shop. I bet if we looked at your B-2-B stuff there's some XML going on, too."

"Right"

"And you've got, maybe, a couple people looking at the iPhone?"

"Nothing definitive, but we're looking."

"You'll be doing Objective-C because the iPhone supports any language you choose, provided you choose Objective-C. There's a lot of that happening. I'm doing SketchUp extensions--any language I like provided I like Ruby. Built a cloud site around the Google chart API--Google's API is language neutral, but JavaScript is the only language that runs in most browsers."

"Martin, is it going to get better or worse?"

"Al, if you define 'better' as fewer languages, you're not going to like the future. If you define 'better' as more targeted, more capable, more domain-specific languages you'll be a happy camper. Embrace chaos. Give it a big hug."

"Any questions?"

Al looks around the room. No one cares to go first.

"Thanks, Martin. 'Embrace chaos.' I've got a question. How in hell am I supposed to go to the board and tell them that we're embracing chaos?"

"That, Al, is where you make the best use of high-priced, authoritative consultants. And while I'm being completely self-serving, you may want me to teach a management-level class on object models. Compared to Java, Python's model seems like chaos. Compared to Java and Python, JavaScript's prototypal inheritance is from a different universe."

"Al, I could use a short break. Then we can talk about a tactical plan. Maybe someone can think of a more marketable version of 'embrace chaos'."