I just read this post on Facebook. Fun!
1. Back in 1961 people of color were called ‘Negroes.’ So how can the Obama ‘birth certificate’ state he is ‘African-American’ when the term wasn’t even used at that time?
At the risk of drawing universal hatred, Unity isn’t so bad once you set the icon bar to autohide. Very uncluttered, quite stable, and even with no hardware acceleration it has good performance. That said… I don’t like it.
So what to do? Everyone has been fleeing to Mint, but I’ve had stability problems, which is odd since it is basically just Ubuntu with some minor changes. I really like MintMenu, but Mint’s not an “approved” OS at work, so I need to use Ubuntu.
Here’s what I do to the stock Ubuntu 11.10 “Oneric” installation to make it habitable (for me – YMMV).
Continue reading »
Deriving its name from the Korean term for a “highly skilled person,” Gosu is a computer language targeting the Java Virtual Machine. It tries to be more expressive than Java (which isn’t really all that hard) while being conceptually simpler than Scala.
Continue reading »
And now for something completely different. Here are the so-called grammar rules I personally encourage everyone, everywhere to ignore and break. Do it today. I said do it!
(1) Use the singular they. Shakespeare did. It is far superior to the alternatives. Why should every unknown person be a he or a him?
“If a person wants to use the singular they, they should.”
(2) Split infinitives with singe words. This is an idiotic, idiotic rule created by idiots because they are too idiotic to know better. Idiots. Avoid the temptation to perhaps understandably, perhaps even defensibly and rationally, but still annoyingly, go crazy.
“Sentence diagrams are hard to easily do when you split your infinitives!”
(3) End your clauses with prepositions whenever you feel like it. See the previous comment. Note that the “prohibition” against this has never existed, except in the small, closed minds of amateur prescriptivism. Professional prescriptivisits know this. “P-stranding?” Having a fancy name for it doesn’t make it right.
“That’s where it’s at!”
(4) Coordinating conjunctions can join anything to anything. Syntactic importance be damned!
“I was going to have an example, and that’s when I thought, damn, I need an example. And so I wrote this. And here it is. Now what?”
(5) Dangle hopefully. We all know what you mean.
“Hopefully no grammarian’s head will explode when they read this.”
(6) Make up your own words. “Graphic” isn’t graphic enough for you? Try graphical! It’s twice the adjective!
“I admire the realisticism of your new poster. It’s like I’m literally there!”
Some things actually do bother me, but they tend to be in the “poor communication” category. That is, if you write something and folks cannot tell what you mean, you need help.
Don’t get me wrong. It is important to know the rules. Then you can know when you are breaking them, decide which ones to break, and still get your point across. Even with fragments.

Skepticism
So far I’ve managed to strongly disagree with folks on the following topics.
- Obama was born in Kenya.
- The 9/11 disaster was staged by the United States government.
- Cell phones cause cancer.
I assert that we do not have enough evidence to accept any of the above statements. I don’t claim they are false, just that there is not sufficient evidence to conclude that they are true… or even likely.
Continue reading »
A while back I needed to get back up to speed on Python, so I wrote a Sudoku solver using a simple algorithm. This required me to think just a bit about the language and how to implement this… plus it was fun.
Now I’m tinkering with Scala, and it occurred to me to write a Sudoku solver tonight. So just over an hour later I have one, and I’m posting it here.
Continue reading »
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 »

