Scala is pretty damn neat. I’ve only just started learning the language (an earlier attempt had to be sidelined because “real” work interfered), but I’m back to it now. Continue reading »
Our new book, Seven Deadliest Network Attacks, is finally out, and I have my copy. It is thin, but chock full of network attack goodness (I hope). Run out and get a copy and tell me what you think! The process of creating this book was quite painful, since it coincided with my changing jobs and relocating in two (or three) painful steps to a job that absolutely consumes all available cycles. I am grateful to my editors, co-authors, and family (who had to endure me doing most of the work at night) for not killing and/or replacing me.
I haven’t written anything on the blog in a while, so it’s probably time. This comes from Facebook comments (what doesn’t these days). Social networking is fun! I’ve paraphrased and added emphasis below because, hey, this is my blog, after all. So, let’s visit that Obama birth certificate issue One More Time… Continue reading »
One of the things I have in my Scala startup file is the following.
def show[T](implicit thetype:scala.reflect.Manifest[T]) { thetype.erasure.getMethods() foreach println } def help(x:AnyRef) { x.getClass().getMethods() foreach println }
These silly little functions are useful – at least, to me. Now when I can’t remember the name of a method I can type something like the following at the Scala prompt. Continue reading »
How long are your passwords? Let’s say eight characters is the length. How many possibilities are there? Well, you can use any single-byte printable character (though I once used an escape key in an RS/6000 password; it worked, but isn’t a good idea everywhere), and any length from one to eight. Continue reading »
Just a short note on an item that bugs me about Java. In C++, I tend to use exactly three kinds of method parameters.
- A const reference. I don’t want to copy it, but I promise not to modify it, either.
- A reference. I might modify it.
- A copy. I might modify my local copy, but not the original. I’m getting a copy, after all.
Easy peasy in C++. In Java? Uh, I pass all objects by reference. Continue reading »

Programming
I spend my time (recently) writing a mishmash of Python, C++, and Java. It’s interesting to switch back and forth.
What’s a good idea and what’s a bad (or dangerous) idea in computer language design? We’ve got a lot of candidates, and a lot of opinions.
I’ll list a few here, along with a few places where they show up. Continue reading »

Sarah Palin
The Palin speech really is poetry. Read below. It makes me want to go to Alaska.
And getting up here I say:
It is the best road trip in America.
Soaring through nature’s finest show.
Denali, the great one,
Soaring under the midnight sun.
And then the extremes.

Programming
I recently heard about a Car Talk puzzler. I don’t listen to Car Talk as much as I used to. Anyway, you can read about the puzzler and the fellow who solved it here. This is an excerpt.
During Christmas week on the popular National Public Radio show Car Talk, the weekly puzzler required listeners to find the longest English word that remains a valid English word as you remove its letters one at a time, but without rearranging any of the letters. For example: sprite, spit, pit, it, I. There are many such words, but, as Barr discovered, only one with 11 letters.
So, only one word with eleven letters: complecting. Maybe. I’m not convinced, but finding out is easy.
Continue reading »

Apple
For the record, here’s how I set the MAC address on my MacBook Pro. As I write this it is running Leopard 10.5.6 and this has been working successfully with every version of Leopard. In fact, it has worked so well I’d forgotten how I did it, so I’m basically writing this post so, if it ever stops working, I will know how to fix it.
If it helps you, all the better. If it hurts you… well… don’t blame me. Continue reading »
