JS Auto-Tab That Doesn’t Suck

July 7, 2009

Here’s a JavaScript auto-tab implementation that doesn’t have that most annoying of bugs: when you click or tab into a field that is already populated, it tabs to the next field, disallowing you from deleting or changing. This one only auto-tabs on keyup.

UPDATE: dag nabbit, I was wrong. Shift-tabbing back to the previous field doesn’t work right in Firefox. On the “var filter” line, add a 16 into the [0,8,9] list, making it [0,8,9,16], and you should be set.


CXF JAXWS Client Returning Null

June 30, 2009

We’re using CXF to generate both our web service and client. For a certain method call, the web service was returning the correct XML (we used tcpmon to make sure of this), but the CXF client was returning null to our code, instead of the returned objects. Other web service methods were returning data correctly, however.

After some research we discovered a difference between the WSDLs for the two method calls. Here’s the correct one:

<xsd:complexType name=”getAllCategoriesResponse”>
<xsd:sequence>
<xsd:element minOccurs=”0″ name=”return” nillable=”true” type=”ns1:ArrayOfCategory”></xsd:element>
</xsd:sequence>
</xsd:complexType>

And here’s the incorrect one:

<xsd:complexType name=”loginResponse”>
<xsd:sequence>
<xsd:element minOccurs=”0″ name=”User” nillable=”true” type=”ns1:User”></xsd:element>
</xsd:sequence>
</xsd:complexType>

Note that the correct xsd:element has a name of “return,” but the incorrect one has a name of “User.” For some reason, the CXF client ignores returned data unless its name is “return”. When we switched “User” to “return,” it worked fine.

If any readers have details on why this is the case, or other light to shed on the issue, please comment. Thanks!


My Top iPhone Apps

June 17, 2009

The “Duh” Category:

  1. Facebook
  2. Pandora

Free:

  1. AudioMemos – voice recording (should be obsolete as soon as 3.0 gets here)
  2. IM+ Lite – all IM apps
  3. ICanHasCheezburger – lots of photo humor blogs
  4. Dictionary
  5. Shazam – recognizes songs on the radio
  6. Flixster – trailers, showtimes

Paid:

  1. Tweetie – twitter client
  2. BibleReader – includes Strong’s
  3. Wedding Day
  4. Outliner

Services, not apps:

  1. Google Sync – use this instead of CalDAV to get better multi-calendar support
  2. Gmail – for free IMAP
  3. Yahoo! Mail – for free push e-mail, so that you get notified as soon as you receive an e-mail

Top Reasons Your YUI Widget Looks Messed Up

June 12, 2009
  1. You created the widget but didn’t call its render() method. When you create it, that seems to update some styles and DOM elements, but not all. Calling render() updates the rest.
  2. You tried to apply the widget to multiple elements, but, since they have the same ID, it was applied to the same element multiple times. This is like the Ghostbusters crossing the streams, and is very bad.

Absolute Assurance and Paul’s Addressing

May 29, 2009

I’ve started a series of blog posts to address the question, should a professing Christian ever doubt their salvation on the basis of a lack of fruit in their life? To answer it, I proposed three characteristics of Paul’s general epistles that prove a Christian can know for certain that they are saved.

The first of these characteristics is the way Paul addresses his general epistles. Each of them is written to a stated audience, and the statement of that audience makes no sense whatsoever if the listeners could have any doubt as to their salvation.

The statements of address are easy enough to find in each epistle. Most of them refer to the readers as “saints:” Rom 1:7, 1 Cor 1:2, 2 Cor 1:1, Eph 1:1, Phi 1:1, Col 1:2. 1 Thess 1:4 refers to the readers as “brethren,” “beloved by God,” who have been chosen by him. 2 Thess 1:4 refers to the faith of the readers. And even Galatians, which so sharply criticizes the readers’ openness to another gospel, says in 1:6 that they were “called…by the grace of Christ.” All of these statements, then, address the epistles not just to any hearers, and not to a questionable class of nominal believers, but to those who really are “saints,” “brethren,” who were “called.”

These addresses are clear, but their relevance to certainty of salvation is not. To make the connection plain, I’d like to first suggest three possible ways to interpret the addresses if it is true that some Christians should doubt their salvation (which I’ll refer to as doubt-theology) – and show that each of these ways is insufficient. I will then give the interpretation if Christians do not need to doubt their salvation (which I’ll refer to as certainty-theology), showing that it fits far more clearly with the plain meaning of the text.

If some Christians should doubt their salvation, what is the state of the churches to which Paul is writing? This view usually sees the church as a “mixed multitude,” some of whom are true believers, and some of whom are false believers – the difference between whom, however, is unknowable until Christ’s return. This, then, would be the group who receives Paul’s letter. So what does he mean when he addresses “the saints?”

First, Paul could simply mean, “to the entire church, who think you are saints, but only some of whom are truly saints.” But this view seems to go against the meaning of the word “saint.” It’s never used in the New Testament to refer to nominal believers who may or may not truly be saved – it’s always equated to realities of salvation: calling (Rom 1:7), citizenship (Eph 2:19), inheritance (Eph 1:8), future judging of the world (1 Cor 6:2). So “saint” in itself does not mean “nominal believer.” And Paul doesn’t have sarcastic quotation marks around the word: if he called the whole church saints, they would understand him to mean that they truly are saints.

Now, if Paul knew not all in the church were saints, but called them all saints, would this be a problem? The answer is that it would be a major problem. To tell an unsaved person that they’re saved, or to tell a saved person that they’re unsaved, is greatly deceptive and wicked. This is a particular point that the doubt-theologians are rightly quick to emphasize. Many such theologians are careful never to make any theological statement with reference to an entire group of professing Christians. Instead, they say “for true Christians, X is true – are you one of them?” And, in their view, this caution is absolutely necessary, lest they falsely declare salvation for someone. But Paul does not here take that precaution: everyone he addresses, he refers to as a saint. So it cannot be that Paul means “to the entire church, who think you are saints, but only some of whom are truly saints.”

Second and alternatively, Paul could use the term “saints” to mean “all of you who turn out, in the end, to have truly been saints.” In this view, Paul isn’t speaking to professing Christians who aren’t truly saved, because none of the realities he’s declaring are true of them. This, at first, seems plausible. But how would the recipients know who he’s referring to? The point of the doubt-theology view is that nobody can know for sure whether or not they’re saved. So if Paul only addresses those who truly are saved, nobody can know for sure whether or not they’re addressed, and therefore whether or not anything in the words is true for them.

It could be objected that Paul meant to primarily address those who are truly saved, but that he wanted nominal believers to listen in as well, and hopefully come to true faith. At least, this is the conclusion of many doubt-theologians’ interpretation of verses to “test yourself” and persevere “lest you have believed in vain.” But we’ve already shown the theological problems with Paul referring to non-saints as saints, so this cannot be the case. Therefore, by Paul’s own statement, he intends only for true saints to be the recipients of his words; but if no one can know if they are truly a saint, no one can know whether the letter is addressed to them. It would certainly be possible for a fallible author to write this way, and for the recipients to understand the error and ignore it. But does it make sense for the inspired, infallible author to say “I am only speaking to those who have a certain invisible attribute, which it is impossible for anyone to know whether they have”? That’s hardly the kind of confidence Paul seems to intend to instill.

Third, Paul could use the term “saints” because he has received special revelation as an apostle, and he actually knows exactly who is a saint and who is not. In this view, it does not matter that none of the recipients knows whether they are truly saints, because the inspired apostle does know, and therefore he can have them only in mind when he writes. The first problem with this idea is that, in order to make scripture intelligible, it relies upon an assumption nowhere made in scripture, i.e. that Paul received special revelation as to exactly who is truly a saint. This is a shaky basis on which to put scripture’s intelligibility. The bigger problem, however, is that, even if Paul was to have received such a revelation, this view does not avoid the problems of the previous view. The addressees still don’t know who Paul is addressing, because he didn’t enumerate them (”the saints, i.e. Bill and Sally, but not Joe and Emily”). So they still don’t know whether they are included in the group addressed, and therefore whether any of the promises of scripture apply to them.

Well, those possibilities certainly seem convoluted. It’s possible that another better interpretation could be advanced to make sense out of Paul’s sending a letter to a mixed multitude and addressing the “saints.” And I certainly don’t claim to have exhaustively researched it. I simply have never run across a doubt-theology explanation of the addressing of the letters – it seems to usually be glossed over. It’s asserted that Paul is addressing true saints, then later it’s separately asserted that nobody can know whether they’re a saint, and the problems bringing these two ideas together are never addressed.

In contrast to this, let’s examine the certainty-theology interpretation, if Christians do not need to doubt their salvation, but can know for sure that they are saved. In this view, there is no problem. Paul is writing to churches, composed of people who have sincerely professed faith in Christ. The professing Christians themselves know they have done so, and everybody around them knows they have done so. If Paul has been to the church, he knows they have done so; otherwise, he at least knows that there is a well-defined group who are known to have made such professions (the concept of baptism as a public sign comes to mind: the idea is that these professions are clear and public). Because Paul knows that sincere faith in Christ necessarily makes one a saint, and that that fact can be known for sure, he addresses the church, not just as “professing Christians,” but as that which they necessarily are as well: “saints.” When the church receives the letter, they see that it’s addressed to the saints, and each person knows whether they’ve made the sincere profession of faith which would necessarily cause them to become a saint. If they are in this category, they know they are directly addressed, and that all the promises in the letter apply to them. If they have not sincerely professed, they know this, and that they therefore are not saints, and therefore are not directly addressed; and they are aware that the promises do not yet apply to them, but that they are listening in to a conversation which they would need to profess faith in order to become a part of.

This seems to fit much more simply with the statement of the text. Paul addresses “the saints” without further explanation, as though it’s a simple designation, as simple as if he were to write to “everybody named Joe.” You don’t need to explain “everybody named Joe,” because everybody knows what that means. In doubt-theology, however, nobody knows who the saints are, and so it takes a tremendous amount of explanation to try to make sense out of it. It’s just as difficult as if I was to say “to everyone who will someday live in the state of California: raise your hand.” That’s unintelligible, because everybody who does not currently live in California can never say for sure that they will never live there. So to call them to act in the present based on something they will not know until the future is unintelligible. Yet Paul (as we shall see) makes numerous present commands of the people he addresses, yet he says that the ones he addresses are those who are “saints.” If nobody can know who is a saint today, how can they know who he is asking to act? The certainty-theology interpretation, then, is far simpler, because in that view Paul is addressing a clearly-defined group, and asking them to act.

As a side note, it could be objected that one cannot know for sure whether a profession of faith is truly sincere. A diligent imposter could adopt all the actions of true faith, and yet not truly feel it. This is true, but it presents no problems to certainty-theology’s interpretation of Paul’s addresses. The imposter knows that he does not truly have faith, so to him it is clear that he is not one of the saints addressed. So each person knows whether they are addressed or not. The problem only arises in doubt-theology when none of the readers can possibly know whether or not they are one of the “saints” addressed.

To review, then, we’ve seen that Paul addresses all his general letters to “the saints,” or else to people who have other attributes exclusive to true Christians. If a person can know for sure whether they are a saint or not, then the meaning of this address is clear. But if nobody can know for sure whether or not they are a saint, then it’s difficult or impossible to determine who Paul intends to address by his letter. Therefore, the addressing of Paul’s letters is more consistent with certainty-theology than doubt-theology.

In my next post, I’ll state my second argument for certainty-theology on the basis of Paul’s general epistles. It continues on in this vein by showing that Paul makes many of his theological statements with reference to his readers, and so the problem is made even worse if no one can know whether the statements apply to them or not.


IE6 JavaScript error: “Expected identifier, string, or number”

May 20, 2009

Note to self: if your code works in FF, but  you get the “Expected identifier, string, or number” error in IE6, this is probably caused by having a list with a comma after the last item. Remove the extraneous comma, and it should work.


Should you question your salvation?

May 14, 2009

The topic of fruit as evidence of salvation has recently been brought to my attention again, and I thought it would be good to take some time to write out some of my study on this topic from a while back. I’ll be doing so in a series of blog posts, then collecting the results together at the end.

The crux of the question is this: if a person sincerely trusts in Christ for salvation, but then sees some degree of a lack of fruit in their lives, should they at some point question whether they were saved in the first place?

As an answer, I propose the following:

  1. Biblical theology is based on a person having absolute assurance that they are saved. To demonstrate this fact, I will show that the logical flow of all of Paul’s general letters requires absolute assurance, and fails entirely if such assurance is not possible.
  2. The theology of questioning salvation on the basis of fruit, is based on the impossibility of ever having absolute assurance that you are saved, but, rather, always having only a relative assurance. I will show this from the clear statements of salvation-questioning teachers, and from logical necessity. I’ll then handle common objections to this conclusion, showing that although some claim that absolute assurance and questioning salvation can coexist, they cannot.
  3. Therefore, since Biblical theology requires absolute assurance, and salvation-questioning theology makes absolute assurance impossible, it will be demonstrated that salvation-questioning theology is inconsistent with the Bible.

For this post, I’ll simply state my arguments in support of point 1, then in future posts defend them one at a time.

1. Biblical theology is based on a person having absolute assurance that they are saved.

Arguments for this point:

  1. Paul addresses all of his letters to a group of people he calls “saints” and “brethren.” This sounds as though he knows that they are saved. And if he (and they) could not know for sure, it would be misleading for him to refer to them as such, because some of them would not be saints and brethren.
  2. Many of Paul’s declarations of what is true about the redeemed, are stated not in the abstract, but in the second person. He says “you are all sons of God” (Gal 3:26). This sounds as though he knows that these truths apply to his readers. And if he (and they) could not know for sure, it would be misleading for him to say so. He would have to say “Christians are all sons of God – are you one of them?” as many salvation-questioning teachers say.
  3. Paul exhorts Christian living on the basis of assurance of salvation. He says “work out your salvation with fear and trembling, for God is at work in you” (Phi 2:12-13). This sounds as though the basis for their work should be their assurance that God is at work in them. And if this could not be surely known, Paul would have to say “work, because if you do not then God must not be at work in you” – as many salvation-questioning teachers say.

I hope, from this brief summary, it is clear that Paul’s train of thought in all of his letters requires an absolute assurance of salvation. He writes to people he calls saints, tells them what is true about them in Christ, then exhorts them to act on the basis of that knowledge. He does not address a mixed multitude, telling them what is true about Christians and asking them to see if they fit the criteria, then telling them to work so that they will discover whether or not they are Christians. To force Paul into such a theology is to take isolated statements and elevate them above the overall logic of Paul’s writing. And this is no purely intellectual matter – this assurance is God’s intended basis for peace and Christian living, free from fearful, servile duty.


The Web Design Absolutist Revolution

April 29, 2009

For too long, web designers have been subject to an infinite number of variables. Browser, operating system, mobiles, screen size, toolbars. Now, I’m all about semantic markup to make sure things are readable anywhere. But when it comes to the point that we can’t even decide how big a screen might be, we’ve gone too far.

So I’ve decided upon a revisionist view of the web. Say hello to absolutes. As of today, every user has exactly the same configuration:

  • Windows XP
  • IE6
  • 1024×768
  • One-row taskbar
  • Showing menubar, standard buttons, address bar, and status bar.

As a result, the user has exactly 593 pixels of screen height:

(Ssh, don’t tell anyone, but there is one subset of users who also has one additional toolbar, like Google or Yahoo. Those users have 566 pixels of height.)

Okay, okay, so obviously this isn’t unrealistic. But this is by far the most common configuration on the web. So if you’re concerned about screen height (or “the fold,” as I despise the fact that it’s called), 593 pixels should be the starting point of the conversation, or 566 if you absolutely need to have everything display. Start from there, and then if you need to have conversations about variables, go for it.


Fallout 3 – Get All Achievements in One Playthrough

April 18, 2009

I just finished Fallout 3, and I’m starting a second playthrough in order to get some achievements I couldn’t get the first time. If you want to get them all in one playthrough, here are a few tips:

  • Disarm the megaton bomb, so that you have a house right away to store stuff in
  • Look up the list of custom weapons, and as you find components, store enough of them in your house to make all the weapons. Don’t make any of the weapons yet, as it can be hard to keep track of which you make and which you find. Wait until you have the all the components and all the schematics.
  • Look up the list of bobbleheads, and make sure you get them all as you go. Note that two of them are irretrievable after a certain point in the game, so it’s best to get them ASAP: medicine and energy weapons.
  • Keep your karma neutral. Each time you reach one of the level milestones that gets you an achievement, save before you get the level, then level up. Then load the save, get a positive karma, and level up again. Do the same with negative karma. This will get you all three achievements, one for each karma level. Keeping a neutral karma shouldn’t be too difficult: the butler in your megaton house will give you purified water, which you can give to the beggar outside to gain karma. And you can always steal things to lose karma.

Obama, Piper, and Allegorical Interpretation

April 17, 2009

John Piper highlights how President Obama exegetes and applies the Sermon on the Mount:

We cannot rebuild this economy on the same pile of sand. We must build our house upon a rock. We must lay a new foundation for growth and prosperity — a foundation that will move us from an era of borrow and spend to one where we save and invest; where we consume less at home and send more exports abroad.

It’s clear how this interpretation misses the point Jesus makes of the parable: the rock is Jesus’ words.

What’s not so clear is that the same error is made by conservative pastors who use allegorical interpretation. The classic example is Origen saying that every detail in the parable of the Good Samaritan refers to something in Christian theology. No: as Jesus interprets it, the point of the parable is to love others in need.

Common allegorical errors today: the Song of Songs refers to Jesus (not, as it would seem, romantic love), many OT prophecies refer to Jesus (not, as it would seem, the land of Israel).