File system geekery

I find file systems work interesting. This is partly because that's what my current job is, and partly because I am, very honestly, a raging geek.

With that in mind, here's some interesting links for those who care about such things as well:


  • BTRFS - a copy on write filesystem for Linux focusing on fault tolerance, repair and easy administration.

  • HAMMER - a highly available clustered filesystem being developed for DragonFlyBSD

  • LFS - a log structured file system for Linux that supports snapshots.

  • POHMELFS - the Parallel Optimized Host Message Exchange Layered File System.



And last but not least, a link to the list of file systems currently available in the Linux kernel.

Being a single-issue voter

In the past, I've seen people make comments about "single-issue voters". Usually something dismissive, along the lines of "You can't just be a single-issue voter, you know."

The problem is... everybody is a single-issue voter, whether they want to admit that or not.

How does the saying go? "Everything is always in the last place you look, because once you find it, you stop looking." I think the negative view of a "single-issue" voter stems from a problem of perception. We like to think of voting as a matter of selecting a candidate, when it is better modeled as a matter of eliminating competing candidates until we're left with a single option.

Face it - the chances that a political candidate will exactly match your views on all significant topics of political discourse is virtually nil. What you are left with, in that case, is an attempt to find the candidate that best matches your values. The logical and almost instinctive way to do this is to decide what issues matter most to you, and then eliminate candidates who don't match your views on that subject. If you have more than one candidate left, then you go on to the next most important issue. Lather, rinse, repeat until you are left with one person, the one who most closely represents your views.

This is where the "single-issue" voter comes from, and it's why we are all "single-issue" voters. When you follow this very natural selection process, you will always have a definite reason for rejecting a candidate. You'll find what you were looking for - a reason to reject - and after you find what you're looking for, you'll stop looking.

"He's pro-abortion."
"She's opposed to gay marriage."
"He supported the war in Iraq."
"She supports legalizing drugs."


So if we're all single-issue voters, what does it mean then when someone explicitly hauls out that title as an accusation? Remember that the process of elimination is personal. You are taking the issues that are important to you, and deciding which candidates to eliminate based on your personal values regarding those issues. That should be enough to provide an accurate translation of the single-issue voter accusation, as follows:

"You're a single-issue voter"

means

"You don't share my values, therefore, you're wrong."


In other words, it's an accusation that clocks in with all the weight of a third-grader's taunt - if that. Yep, I'm a single-issue voter. So are you. So let's stop arguing like a couple of kids on a playground and at least try to act like adults, m'kay?

Power to become the sons of God


"But as many as received him, to them gave he power to become the sons of God, even to them that believe on his name: Which were born, not of blood, nor of the will of the flesh, nor of the will of man, but of God." - John 1:12-13


These verses caught my eye last week. As I read through the Bible, I am consistently amazed at just how much information is contained in just a few short sentences, particularly in the New Testament. Take Jude, for example - there are 25 verses in the entire book, and I know that I could preach a four part series on the first three verses alone. That's how much gets packed into those first three verses.

The first chapter of the gospel of John is the same way. There is a ton of theology, doctrine, and amazing revelation poured into that chapter. Let's take a look at just these two verses, and you'll see what I mean.

I. "But as many as received him..."

Consider the phrase "as many as". What follows is contingent upon accepting Christ. It isn't someone else's decision, not even God's - it's yours. Anyone who cared to receive Christ, experienced the consequences of that reception. That reception is a matter of faith, receiving him for who he was, the promised Messiah. Most of all, Jesus Christ was definitely a him, not an it. He is described as the living Word earlier in the chapter, and here is described as an individual person. Jesus was God made flesh, and we need to relate to Him and receive Him as a living person, not as a spirit, a thing, or an unknowable entity.

II. "... to them gave he the power to become the sons of God..."

This living Word, this person, this Jesus - he had both the right and the ability to make a specific grant grant of power: the power to become a son of God. The term "power" is a Greek work that can be used to mean privilege, liberty, or right. Those who received Jesus did not gain the potential to become the sons of God; instead, they gained the privilege and right to become the children (sons) of God (Romans 8:15).

III. "...even to them that believe on his name"

This phrase tells us that there is a very specific way to receive Jesus Christ - you have to believe on His name. Jesus' name - His reputation, His authority, His character - are the only way by which we can be saved (Acts 4:12).

Believing means having faith in something, or trusting in the truth of something. You have faith in Jesus' name (reputation, authority, character). You can have all the faith that you want, but unless you put that faith in something, it's useless; and unless you put that faith in Jesus, it's unprofitable. The purpose of that faith is to accept Jesus so we can be reconciled with God. We are sinners, at enmity with God. (Romans 8:7), and the only way we can become sons of God is if we are first reconciled with the Father (Ephesians 2:16). This reconciliation is only possible through Jesus; He is the way, the truth, and the life (John 14:6)

IV. "Which were born..."

Here, John gets to the gist of the matter: how salvation works, and how it doesn't work. He starts off with three negative examples, telling us what salvation isn't. His introduction in the previous sentence - receiving Jesus based on his name - lays the foundation, and this verse tells us what we should avoid adding to that foundation, no matter how much we're tempted.

First off, he tells us that salvation is not a matter of who you are ("not of blood"). Your family, your nationality, your race - none of that matters to God, and it is not enough to save you.

Secondly, salvation is not a matter of what you do ("nor of the will of the flesh"). No matter what we do, we can't measure up to God's standard of righteousness (Romans 3:23). If we try, we will always fall short.

Thirdly, salvation is not a matter of what others do ("nor of the will of man"). No other man, organization, or other earthly entity can declare you to be saved or unsaved. No other human being in all the world knows the state of your relationship with Jesus Christ except you; and no other human being can establish or disestablish that relationship for you.

Finally, John tells us what salvation is - it is a matter of god ("but of God.") It is God alone who can save (Jonah 2:9). But it is the receiving of Jesus that grants the privilege of salvation by becoming a member of God's family. The conclusion has to be, then, that if God alone can save, and salvation is only accomplished through Jesus... then, obviously, Jesus must be God.

All in all, some pretty amazing stuff. The simplicity of salvation, the certainty of receiving Christ, the adoption of sons, the denial of person, works and organized religion as a means of salvation, and finally, three words that make it obvious that our Savior isn't just a man of God, but is God himself. Wow.

Frayed Knights

For the past year or so, I've been following, commenting, and (for the last month) helping to test Frayed Knights. Developed by Jay Barnson over at Rampant Games, Frayed Knights is roughly an attempt to do the same thing for computer RPGS that Monty Python's The Holy Grail did for serious Arthurian scholarship.

It's funny, it's polished, it's fun, and it's free for the download. Check it out (and look for my name in the credits. Woo-hoo! Mama, I'm famous! :-)









A dainty elvin warrior with an inferiority complex and a hot temper.
A thrill-junky rogue who considers defying death the best alternative to boredom.
A cute but scatterbrained sorceress with destructive tendencies.
A tree-hugging nature-priest who wonders why everyone can't just get along.

Together, they are going to save a kingdom from destruction...

...if they don't kill each other first.


FRAYED KNIGHTS PILOT: The Temple of Pokmor Xang

Now Available!

Quote of the day

Courtesy of Shamus Young at Twenty Sided, as part of a review of Deus Ex: Invisible War:


Bringing about peace by killing everyone who disagrees with you is a solution which scales poorly.

Building the Real Iron Man

Via Technocrat, a pointer to an article at PopSci.com that talks about Raytheon's research in powered exoskeletons.

I've just skimmed over the article, but as far as I can tell, they've missed one of the real pioneers in the "I am the Lord of the Geeks" field of modern personal armor: Troy Hurbutise, the man behind Project Grizzly, an effort to develop advanced individual protection suit technology.

Robo Business 2008 - say what?

Well, now. The Robo Business 2008 conference and exposition is going on now, at the David Lawrence Convention Center here in Pittsburgh. Fortunately, there are people in California who care about this sort of thing, otherwise I probably never would have found out about it. As it is, I've found out too late to take advantage of the opportunity. It's a shame - I would have loved to take my oldest daughter down to see the robots.

In my mind, this is a typical problem of technology in Pittsburgh. Nobody takes us seriously. Why should they? We don't even take ourselves seriously. If it wasn't for CrunchGear, I wouldn't have known about this expo at all. In the local media, only the Tribute review bothered to cover the event, and even then, only in a mention in an article yesterday that focused primarily on CMU's Robot Hall of Fame. The Pittsburgh Technology Council doesn't even list Robo Business 2008 on their events calendar.

I mean, come on, people! We have a world-class technical university at CMU, complete with it's own Robotics Institute and the National Robotics Engineering Center. There's a Pittsburgh Area Robotics Society, and the Pittsburgh Robotics Initiative has 23 members with the goal of making Pittsburgh "the center of the world's robotics and automation industry." There are companies like McKesson, Redzone Robotics, HyperActive Technologies, and Applied Perception that are building a basis for a robotics industry in the area. A Google search for Pittsburgh robotics turns up over 800,000 results.

If you think about what's needed for robotics: hardware expertise, embedded systems expertise, networking and communications expertise - we've got that in spades. If there's any place where robotics should be cool, it's here. If there's any place where a conference like this should be a big thing, it's Pittsburgh.

So... where's the news coverage? Where's the attention? Take a look at the list of participating companies, and you'll see that there's literally hundreds of businesses represented. Hundreds of companies descend on Pittsburgh to discuss a growing high-tech industry, and the media coverage is indistinguishable from noise.

Sigh.

Maybe they should have had a robot throw out the first pitch of the season at PNC park yesterday.

Making an API Hard to Misuse

Rusty Russell (of Linux kernel hacking fame) has been spending some time recently thinking about what makes for a good API. His first article on the subject was APIs: "Easy to Use" vs "Hard to Misuse", where he pointed out that the subtlest requirement for a good API is that it be hard to misuse.

He's continued this theme in his latest post, How Do I Make This Hard to Misuse?, he discusses one aspect of the matter: not how to write a good API, but how to create one that's hard to misuse. Anyone who develops software for a living can tell you that "easy to use" does not necessarily mean "hard to misuse"!

Rusty puts together a "hard to misuse" scale that starts at "It's impossible to get wrong". It's interesting that, as you go down the scale, there's a transition from "hard to get wrong" to "hard to get right". The worst possible state you can be in, at least by this scale, is "Read the correct mailing list thread and you'll get it right" - in other words, an API that is so difficult to use that you can't make it work without some form of expert guidance.

As with a lot of articles of this type, the value isn't really in any one particular suggestion. If you're a software developer, you'll read through this and think, "Well... yah. Sure. I do that." You might find one or two items at the top of the list that are new to you; but that's not what caught my attention. Instead, the real value of the this article is in getting you to think about an old problem (API design) from a different point of view - something that's almost always worthwhile.

A Guide to Proper Behavior for Children of All Ages

My friend Ben Cox came up with a flowchart for children. In his own words:



"I've come up with a flowchart you might enjoy. It's a comprehensive flowchart for children to follow, outlining proper behavior in all cases. It can be used in all situations and I've think I've covered all the bases, enough to handle any scenario that they should be expected to encounter. Unfortunately I think it may be too complex for most children under the age of 8 to navigate successfully."


And, of course, the flowchart itself. While I agree with Ben's assessment - it is rather complex - I think that, overall, it presents children of all ages with a completely satisfactory methodology for determining proper behavior in all circumstances.



... and there is no new thing under the sun.

"The thing that hath been, it is that which shall be; and that which is done is that which shall be done: and there is no new thing under the sun." - Ecclesiastes 1:9

Geekalerts reports on a company that - in a fit of creativity - has managed to come up with a new-computer form factor: a keyboard with a built-in computer!

Well, OK - maybe not all that new, given that this is essentially what the Commodore 64, the TRS-80 Color Computer, the Amiga, the Atari looked like... in fact, just about every personal computer from the dawn of the PC age used this form factor, and a connection to an existing "monitor" (your TV set) for the display. So while this is a neat little machine that packs a lot of power into a small form factor, the company's claims that "the new ZPC-GX31™ is a true innovation" seems just a bit over the top.