geekwisdom's blog

Butt Kicking Chair

A couple of years ago I was sitting in one of those mind numbing meetings about stupid users or some such thing when I began to doodle and hit upon an idea. Wouldn't it be cool if all of our users sat in specially designed (or retrofitted) chairs that were capable of producing a shot to the sitter's posterior. The idea called for a chair, a boot, a lever, an actuator, a small computer with a network connection (wired or wireless), and some custom software. The computer would provide a network interface that would allow an administrator or help desk person to send a request to the chair and the person sitting in it would get a single kick in the pants. The idea for the interface later morphed into a web page and/or XML-RPC interface that listened to requests from authorized administrators which would trigger the butt kicking as well as various presets (single kick, small whooping, smack down, death by boot, etc).

Sending Cache-control Headers Using Apache 2.x and mod_expires

About a year ago I wrote about how use mod_header with Apache 1.3x to send Cache-control headers. It worked so well that I want to configure my Apache 2.x servers to send the same headers. It's even simpler with Apache 2.x since mod_expires is included in most default installs. Here's what I did.

I added a configuration directive for the main server configuration (inside the Directory block) which sends the Cache-control header for common graphics.

Mitigate the risks of a stolen laptop

Think about it for a second. What would you loose if someone stole your laptop (or desktop) computer? What kind of damage could be done to you with the information retrieved from your laptop? The theft of a computer brings with it all the problems associated with a failed hard drive plus the added risks of the data on the drive being out of your control and potentially used by an unauthorized person for things that are likely to impact you negatively. Risk Overview:
  • Loss of computer hardware (laptop)
  • Loss of control of stored data
    • credit card numbers

Javascript Password Strength Meter

What makes a strong password? This quick and dirty password strength meter is meant to help users learn how to create stronger passwords. Because it's written in Javascript the password is never sent over the network. Feel free to audit the code and recommend some better regular expressions, weightings, or bug fixes by submitting a comment.

NOTE: This was meant as a quick and dirty educational tool. It served my purposes many years ago. If you want to make it better please submit a comment with a patch or some type of improvement. Other than that I'm going to ignore comments like, "I put in XYZ password at it said it was weak, strong, whatever."

Constructing event-driven services in a service-oriented architecture

In the article Event-driven services in SOA Jeff Hanson provides a helpful overview of how to use Mule to construct event-driven services in an SOA. We are investigating the use of Mule and ActiveMQ as foundational components of our messaging framework for our identity management project at my day job.

God, Establishing Identity and Authentication

I've been doing a lot of thinking about identity establishment and authentication in the last few years. Today I was reading Exodus--the story of Moses and the burning bush--when I realized that it served as a good example of the issues and provides a number of techniques for dealing with them.

Establishing Identity:

In Exodus God establishes His identity with Moses by appearing to him in a burning bush. God gives Moses a charge to free the Hebrews from Egypt in His name. When Moses asks how he should establish God's identity when he returns to the Hebrews God says, in Exodus 3:13-16, "Say to the Israelites, 'The LORD, the God of your fathers—the God of Abraham, the God of Isaac and the God of Jacob—has sent me to you.' This is my name forever, the name by which I am to be remembered from generation to generation."

God uses a web of trust (three people) to assert His identity to the Hebrews. The Hebrews trust their fore-fathers--Abraham, Isaac, and Jacob--they know that they all worshiped the same God. In this instance Moses is to go to them and say that that same God has sent him.