« November 2004 | Main | January 2005 »
December 31, 2004
The 1040 Window
In light of the catastropic Tsunami disaster, dialogue around this event has not ceased. At a birthday party last night a good friend and I were talking about the Tsunami and something very interesting was raised, regarding the 10/40 window. Let me explain..
Christian Missionaries have long attempted to reach a region of the world known as the 10/40 window:
The 10/40 Window is an area of the world that contains the largest population of non-Christians in the world. The area extends from 10 degrees to 40 degrees North of the equator, and stretches from North Africa across to China.
According to Urbana speaker Luis Bush:
And there is one part of the world that more than any other desperately needs the gospel today. If you were to look at a world map, you would observe a geo-political region from 10 degrees north of the equator to forty degrees north of the equator from West Africa to East Asia that could be called the 10/40 window where the evidence of Christ's Lordship is strangely missing:
This is a significant region because it is the cradle of civilization, and where God's dealings with man were worked out as recorded in the biblical account. Yet this is the region of the world where Christ's Lordship is most clearly absent in our day. Here you will find almost 100% of the people living in the 55 least evangelized countries. Here you will see over 8 out of 10 of the poorest of the poor. In fact in the 10/40 Window there are 2.3 billion people who are both among the poorest of the poor as well as least evangelized.
If we were to make a comparison between the 10/40 "window" with the current Tsunami wake:


What's the point? Is it purely coincidental? I'm not a doomsdayer nor am I a bible-thumper, what I am is a rational Christian. I don't expect anybody to notice this evidence and become a Christian (to become a Christian requires so much more), but to begin to think carefully of what God is thinking and what He is desiring of man. God does not desire the destruction of men, rather its quite the opposite:
First of all, then, I urge that entreaties and prayers, petitions and thanksgivings, be made on behalf of all men, for kings and all who are in authority, so that we may lead a tranquil and quiet life in all godliness and dignity. This is good and acceptable in the sight of God our Savior, who desires all men to be saved and to come to the knowledge of the truth. (1Ti 2:1-4)
Furthermore God says he takes no pleasure in the death of people:
"For I have no pleasure in the death of anyone who dies," declares the Lord GOD. "Therefore, repent and live." (Ezek 18:32)Do no let this one fact escape your notice, beloved, that with the Lord one day is as a thousand years, and a thousand years as one day. The Lord is not slow about His promise, as some count slowness, but is patient toward you, not wishing for any to perish but for all to come to repentance. (2Peter 2:8-9)
God's ultimate desire is for men to live and repent of their sin and come to the saving knowledge of Him. "Where is God?" you may be worndering? God's promise does not fail, nor is God slow about His promises. Do not worry, His promisses will come. The fact that He delays His promise of judgement is actually an act of His grace. The longer He delays in His coming, the more He would allow to come to know Him. In short God wants us to know Him through faith in Jesus Christ as He delays in His return.
Going back to that passage in 1Tim, the Apostle Paul continues to say:
For there is one God, and one mediator also between God and men, the man Christ Jesus, who gave Himself as a ransom for all, the testimony given at the proper time. (1Ti 2:5-6)
Was the Sumatra quake and act of God's judgment on the 10/40 window? Not certain. However, I am certain of two things. One, that we are to weep with those who weep, pray for those who are in need at this desperate hour offering any help that we can. Two, that God wants our full and complete attention and desires of us to know Him through faith in His Son Jesus Christ, the only mediator between man and God.
[update: 2/14/05] Here's another article I found that shares my thoughts
Posted by patrick at 08:38 AM | Comments (2)
December 29, 2004
Our attention
On Sunday, Dec. 26th the 9.0 earthquake off the western coast of Sumatra sent a devastating Tsunami that affected 11 nations. As of this moment the current death toll stands at 60,000 confirmed deaths with tens of thousands unaccounted for. The widespread damage is unparalled and the increasing death toll staggering. Reading through the various articles and pictures throughout the net, has quickly become mind numbing. What do I make of all this?!
The last great tragedy we experienced in this century alone was the unforgettable twin towers attack on Sept 11, 2001. In the latter part of this year a Russian highschool was held hostage killing over 100 students. Compared to the 60,000+ death toll of the Indian Ocean Tsunami, those events may be more palpable to our stomachs. Also the cause of these 2 events are easier for us to understand since we are more able to put a finger on the cause. However when it comes to natural disasters such as the Sumatra quake, who are we to point the finger at?
Many religious leaders attempted to answer that question when the 911 attacks occured. Evangelicals poised the possibility that God had allowed the terrorist attacks as a form of judgement on our nation... A nation that has abandoned its God in schools, homes, governments, and even churches. As you may recall, as quickly as those questions were given to the public by many religions leaders, the MSM (main stream media) quickly shifted (dismissed) America's attention from God's judgment to "let's investigage the mind of a suicide bomber."
Maybe the world's attention is wrongly focused? Instead of focusing on God's judgements on the world, we've focused on the human agents that have caused past tragedies, such as 911. However, in our world's present tragedy, there are no human agents to blame. No human agents to rob God of our attention. I sometimes wonder if God wants our attention that he'll purposefully remove any human instrument so as to cause people to think of no one else but Him, whether positively or negatively.
How many more disasters will we undergo, before we give Him our full attention? We'll probably go through another cycle of having a panel of experts and evangelical religous leaders debate the cause of such catastrophic events. Possibly concluding once again that God wants our attention that He is angry and the nations that continue to reject Him and rob Him of glory fall under judgment. Unfortunately, as quickly as that charge is brought before the watching world, it will also be quickly dismissed and our attention is once again brought to seismology, geology, weather patterns, etc.. our attention on God would once again be lost until the next time.
Fresh Words from John Piper on the Tsunami disaster

Red Cross via Amazon Donation system

Posted by patrick at 12:47 AM | Comments (0)
December 28, 2004
Tsunami links and pictures
WorldVision Tsunami Relief Fund
Prayerfully consider, donating to the WorldVision relief fund. According to a reliable sources (DGM and Hugh Hewitt):"WorldVision is the most efficient disaster relief agency in the world, and you can contribute to its already in-place recovery efforts here. Many are responding and the web site is slow as a result, but please persevere. WorldVision would be wise to post updates from its front line responders, though of course they are already overwhelmed with tasks." -- Hugh Hewitt
"Learn more about how to help those in need through World Vision, a trusted Christian relief and development organization that is hard at work in the aftermath of the tragedy." -- DGM

Countries Hit

Video
Video 1 8MB WMV (Local copy)
Video 2 12MB WMV (Local copy)
Video 3 11MB WMV (Local copy)
Video 4 14MB AVI (Local copy)
http://www.dagbladet.no/download/tsunamiphuket.wmv
Articles:
Death toll climbs to 52,000
A third of the dead are children
Disease epidemic likely to double death toll
Informational
FEMA article on Natural Disasters
2004 Indian Ocean Earthquake( ***VERY HELPFUL*** )

How earthquakes happen
Quake may have caused Earth to wobble
Pictures (warning some are very graphic):
Yahoo Photo Tsunami Gallery 1






Posted by patrick at 01:36 PM | Comments (0)
December 27, 2004
How to comment
In light of all the comment SPAM I've been receiving, I decided to apply the TypeKey registration feature of movable type. In order for you to post a comment, you first need to create a TypeKey account. Once you create the account, you can then sign in on the blog entry you wish to comment on.
contact me if you have any questions: patrick at lacson dot name
Posted by patrick at 01:34 AM | Comments (0)
December 23, 2004
Blog Spam!
Although I have only told a handful of people re: this website, I'm getting hammered with blog spam. The comments have been flooded with spambot attacks for free poker online, viagra, etc..
Anyway, the double submit (preview first, then post second) in the comments form may hopeful deter these bots.
If it doesn't I'll have to revert to some challenge/response system.. the challenge being some simple word problem that only a human could answer.. like:
What is one plus one minus two? Answer: zero or 0
Type patrick spelled backwards. Answer kcirtap
What is the name of our planet? Answer: earth
...
If you have any questions like these or know of a site that may have such questions, please commment and I'll compile a list of these questions to hopefully deter these nasty spambots.
Posted by patrick at 04:54 PM | Comments (0)
December 17, 2004
How to Embed Tomcat 5.5.x (really, it works!)
Some of you out there may be wondering, how do I embed Tomcat 5.5.x into my application? My 5.0.x code no longer works in the 5.5.x line. There has been some api changes in the Embedded class along with a bug in the Embedded.createConnector(...) method see (here) After fiddling with the Catalina classes around all morning, I have been able to get the the Embedded Tomcat to work so here is the code.Note: This is using the Tomcat 5.5.4 embed version.
import java.io.File;
import java.net.InetAddress;
import org.apache.catalina.Context;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.Session;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.realm.MemoryRealm;
import org.apache.catalina.startup.Embedded;
import org.apache.tomcat.util.IntrospectionUtils;
/**
* @author placson
*/
public class Tomcat55 {
private String path = null;
private Embedded embedded = null;
private Host host = null;
private Context rootcontext;
public Tomcat55() {
}
/**
* Set Session scope variable
*
* @param name
* Session variable name
* @param obj
* Session variable value
*/
public void setRootContextSessionAttribute(String name, Object obj) {
try {
Session sessions[] = this.rootcontext.getManager().findSessions();
for (int i = 0, size = sessions.length; i < size; i++) {
sessions[i].getSession().setAttribute(name, obj);
}
} catch (Exception x) {
}
}
/**
* Get Application scope variable
*
* @param name
* Application variable name
* @return Application variable value
*/
public Object getRootContextAttribute(String name) {
return this.rootcontext.getServletContext().getAttribute(name);
}
/**
* Set Application scope variable
*
* @param name
* Application variable name
* @param obj
* Application variable value
*/
public void setRootContextAttribute(String name, Object obj) {
this.rootcontext.getServletContext().setAttribute(name, obj);
}
/**
* Remove Application scope variable
*
* @param name
* Application variable name
*/
public void removeRootContextAttribute(String name) {
this.rootcontext.getServletContext().removeAttribute(name);
}
/**
* Basic Accessor setting the value of the context path
*
* @param path -
* the path
*/
public void setPath(String path) {
this.path = path;
}
/**
* Basic Accessor returning the value of the context path
*
* @return - the context path
*/
public String getPath() {
return this.path;
}
/**
* This method Starts the Tomcat server.
*/
public void startTomcat() throws Exception {
Engine engine = null;
// Create an embedded server
this.embedded = new Embedded();
this.embedded.setCatalinaHome(getPath());
// set the memory realm
MemoryRealm memRealm = new MemoryRealm();
this.embedded.setRealm(memRealm);
// Create an engine
engine = this.embedded.createEngine();
engine.setDefaultHost("localhost");
// Create a default virtual host
this.host = this.embedded.createHost("localhost", getPath()
+ "/webapps");
engine.addChild(this.host);
// Create the ROOT context
this.rootcontext = this.embedded.createContext("", getPath()
+ "/webapps/ROOT");
this.rootcontext.setReloadable(false);
this.rootcontext.addWelcomeFile("index.jsp");
this.host.addChild(this.rootcontext);
// create another application Context
Context appCtx = this.embedded.createContext("/manager", getPath() + "/webapps/manager");
appCtx.setPrivileged(true);
this.host.addChild(appCtx); // add context to host
// Install the assembled container hierarchy
this.embedded.addEngine(engine);
int port = 8080;
String addr = null;
Connector connector = null;//this.embedded.createConnector(addr, port, false);
/*
* embedded.createConnector(...)
* seems to be broken.. it always returns a null connector.
* see work around below
*/
InetAddress address = null;
try {
connector = new Connector();
//httpConnector.setScheme("http");
connector.setSecure(false);
address = InetAddress.getLocalHost();
if (address != null) {
IntrospectionUtils.setProperty(connector, "address", ""
+ address);
}
IntrospectionUtils.setProperty(connector, "port", "" + port);
} catch (Exception ex) {
ex.printStackTrace();
}
connector.setEnableLookups(false);
this.embedded.addConnector(connector);
// Start the embedded server
this.embedded.start();
}
/**
* Refresh ROOT context
*
*/
public void reloadRoot() {
this.rootcontext.reload();
}
/**
* Remove ROOT context
*
*/
public void removeRoot() {
this.host.removeChild(this.rootcontext);
}
/**
* Add ROOT context
*
*/
public void addRoot() {
this.host.addChild(this.rootcontext);
}
/**
* This method Stops the Tomcat server.
*/
public void stopTomcat() throws Exception {
// Stop the embedded server
this.embedded.stop();
}
/**
* Registers a WAR with the container.
*
* @param contextPath -
* the context path under which the application will be
* registered
* @param warFile -
* the URL of the WAR to be registered.
*/
public void registerWAR(String contextPath, String absolutePath)
throws Exception {
Context context = this.embedded
.createContext(contextPath, absolutePath);
context.setReloadable(false);
this.host.addChild(context);
}
/**
* Unregisters a WAR from the web server.
*
* @param contextPath -
* the context path to be removed
*/
public void unregisterWAR(String contextPath) throws Exception {
Context context = this.host.map(contextPath);
if (context != null) {
this.embedded.removeContext(context);
} else {
throw new Exception("Context does not exist for named path : "
+ contextPath);
}
}
public static void main(String[] args) {
Tomcat55 tomcat = new Tomcat55();
/* jdk15 verify */
java.util.LinkedList<Integer> list = new java.util.LinkedList<Integer>();
tomcat.setPath(new File(".").getAbsolutePath());
try {
tomcat.startTomcat();
// unload root after 5 seconds
Thread.currentThread().sleep(5*1000);
tomcat.removeRoot();
System.out.println("Root context removed!");
// wait another 5 seconds and add again
Thread.currentThread().sleep(5*1000);
tomcat.addRoot();
System.out.println("Root context added!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Posted by patrick at 11:40 AM | Comments (0)
December 14, 2004
The Christmas Story attacked by Newsweek
Blog guru, Hugh Hewitt shed some light on a recent artical by Jon Meacham regarding the birth of Jesus. As it turns out, this article is also the cover story for Newsweek's Christmas edition. (Thanks Hugh for including my blog on your site!)
This Newseek article is an attempt by a secular writer to dismiss not only the virgin birth of Jesus Christ, question the authority of the Scriptures, but also to reject the deity of Jesus Christ. The article is comfortably argued, however verses are taken out of context and carefully chosen "scholars" with a liberal bent were quoted.
For example, Meacham quotes the findings of the Jesus Seminar group, a self-proclaimed group of scholars that deem themselves experts on the teachings of Jesus Christ. Well known pastor-teacher, John MacArthur exposed the Jesus Seminar as those who try to shape Jesus into a politically correct person that fits their liberal world-view. According to Jesus Seminar founder Robert Funk, the entire Gospel of John is to be dismissed as containing authentic teachings of Jesus because, "Jesus speaks regularly in adages or aphorisms, or in parables, or in witticisms created as a rebuff or retort in the context of dialogue or debate. It is clear he did not speak in long monologues of the type found in the Gospel of John."
What Funk fails to explain is that the fourth Gospel, the gospel of John, was not a narrative or synoptic Gospel like Matthew, Mark, and Luke. John's Gospel purposefully was different than the synoptic Gospels in that it portrayed the person of Jesus Christ. John took an account of what Jesus Christ was like as a person, as the Son of God, His private ministry to people, and His personal dialogoues with the disciples.
The Jesus Seminar founder also is on his way to reject the resurrection of Jesus Christ as MacArthur explains, "The Jesus Seminar is not finished yet. The panel is going to reconvene soon to evaluate the works of Jesus. Funk says he is "reasonably sure the seminar fellows are going to say that the Resurrection happened as a vision to followers such as Peter, James, and Paul." No doubt he's right. The scholars have already announced their conclusion that the disciples' accounts of an empty tomb are merely embellishments of Paul's report that the risen Christ had appeared to him."
The agenda of the Jesus Seminar is not so much to understand the historicity of Jesus teachings but rather take them out of context, dissect, and omit those verses that have any bearing on one's repentance from sin. NT Professor from the Master's seminary Dr. Thomas accurately opines, "Whose perception of Jesus depicts the real Jesus, the perception of the earliest Christians or that of specialists working nearly 20 centuries later?" He went on to say, "the verdict must favor the historical accuracy of the earliest perceptions found in the four Gospels." This basically goes back to the fundamental law of biblical exegesis, we must interpret scripture in light of its historical and gramatical context. We cannot force our modern day philosophies and world views to scrutinize sentences penned 2000 years ago.
For further info, one of Hugh's guests, Mark D. Roberts, has written a dismantling rebuttle to this Newsweek article mentioning the the Jesus Seminar, founder's opening remarks at the seminar's first meeting in 1985:
What we need is a new fiction that takes as its starting point the central event in the Judeo-Christian drama [Jesus] and reconciles that middle with a new story that reaches beyond old beginnings and endings [creation and eschatology]. In sum, we need a new narrative of Jesus, a new gospel, if you will, that places Jesus differently in the grand scheme, the epic story.Not any fiction will do. . . . The fiction of Revelation keeps many common folk in bondage to ignorance and fear. We require a new, liberating fiction, one that squares with the best knowledge we can now accumulate and one that transcends self-serving ideologies.
This doesn.t exactly sound like the beginning of an objective quest for the historical Jesus, does it? In fact in that same lecture Funk said this about what his Seminar fellows would experience:
What we are about takes courage, as I said. We are probing what is most sacred to millions, and hence we will constantly border on blasphemy. We must be prepared to forebear the hostility we shall provoke.
Other than quoting the Jesus Seminar, Meacham attacks the legitimacy of Christ's virgin birth, assuming Mary comitted adultery with a Roman soldier or had pre-marital sex sith Joseph. What makes it more disturbing is that he quotes a verse from John's Gospel and takes it completely out of context. He quotes, John 8:41 as the Pharisess are in a heated dialogue with Jesus, they say, "We were not born of fornication; we have one Father, even God." (NASB). To support his view, Meacham quotes Raymond Brown (a Catholic Scholar), who suggests that this verse may be that the Pharisees are suggesting that Jesus is an illegitimate son. According to Raymond Brown,
"The Jews may be saying, 'We were not born illegitimate, but you were.' The emphatic use of the Greek pronoun 'We' allows that interpretation."
If we read this passage in its context, is this really what it is saying? .. that the Pharisees are accusing Jesus Christ as an illegitimate son?
As a reader and student of the bible, reading through the 8th chapter of John, one can follow the dialogue between Jesus and the Pharisees. The dialogues turns ugly in verse 31 as Jesus accuses them of being bound or enslaved to their sin, "Truly, truly, I say to you, everyone who commits sin is the slave of sin." (vs. 34) Jesus exposes the Pharisees for their failure to see their own sin therefore, making them a slave to it. Jesus goes on to say that though they may have a lineage to Abraham, they are not truly children of God sayin, "I know that you are Abraham's offspring; yet you seek to kill Me, because My word has no place in you. I speak the things which I have seen with My Father; there you also do the things which you heard from you father."
Jesus draws a line saying, He is of His father in Heaven, while the Pharisees were of a different father. Clearly Jesus does not mean the Pharisees were of their spiritual father, Abraham, because he later says, "if you are Abraham's children, do the deads of Abraham. But as it is, you are seeking to kill Me" (39b-40b) Jesus then directly says they are not sons of God the Father in vs. 42
This scathing accusation of Jesus that clearly says they were not of their father Abraham, was an insult both to their national purity and to their standing with God. So in retaliation they say that verse that Meacham quotes (vs 41) "We were not born of fornication; we have one Father, even God." What could the Pharisees mean by that?
In the mind of the Pharisees, getting to God or becoming a child of God, was through their Abrahamic lineage. They were in effect saying, "yes we are of God, our lineage back to Abraham is true and pure. This statement in verse 41, was not so much an attack on Jesus that he was illegitimate, but a defensive statement in effect saying, "our lineage back to Abraham is pure. There was no fornication that polluted our lineage back to Abraham. Because of this, we are of God the Father"
Because of the Pharisees' sin and pride, they couldn't see that Jesus came to offer deliverance from the very sin of pride which they failed to see. They were proud of their lineage, while all the while failing to see their pride was exactly what separated them from God.
More I'm sure could be said, but we'll leave it at that.
Every year it seems the world makes its attempt to take shots at Christianity. Jon Meacham took a very big one with this article. Scholarly and balanced, this article was not. A controversial seller possibly. What concerns this reader is the world's bravado increasing and undermining the Savior's love for them, especially in a season in which His message is most celebrated.
Posted by patrick at 10:06 PM | Comments (5)
December 08, 2004
Picture organizer script
Here's an excerpt of a recent email I got from a friend regarding how to use the ruby picture organizer script:
---------------
you installed ruby?! yay, you're on your way to
becoming a ruby hacker!
after installing ruby for windows, verify that it
works by launcing a command window (Start - Run - cmd)
and typing:
H:\>ruby -v
ruby 1.8.1 (2003-12-25) [i386-cygwin]
Then go to where the ruby script resides and type the
following:
H:\>ruby organizer.rb
usage: organizer.rb [inputdir] [outputdir]
basically the [inputdir] is where all your pictures
are stored. [outputdir] is where all the pictures are
going to be organized. So here's an example:
[inputdir]
d:\my_pix (this contains all your unorganized pix)
[outputdir]
d:\my_organized_pix
Note: make sure that the [outputdir] is not part of
the [inputdir] as a directory within that tree, make
sure that they are in completely separate directories.
If you're paranoid like me when it comes to testing
other people's scripts, try it using a small testcase.
Copy some (about 20 or so) random pictures into a
directory called d:\my_test folder. Create a second
directory called d:\my_organized_pix
then type:
H:\>ruby organizer.rb d:\my_test d:\my_organized_pix
You'll see all your files from d:\my_test moved to
d:\my_organized_pix in their individual directories.
If everything goes ok, try running the script on your
entire picture directory.
Let me know how far you get.
--Patrick
--- Daniel Arcilla <xxxxxxxxxxxxxxxxxxxxx> wrote:
> HI Pat,
>
> i installed Ruby on my home machine, but i don't
> know how to use the
> script you wrote for organizing the digi pics.
>
> Can you send me some instructions?
>
> Thanks.
> Dan
>
Posted by patrick at 10:42 AM | Comments (3)
December 03, 2004
Struts LookupDispatchAction
I started investingating struts yesterday and found it somewhat frustrating. one of the things I wanted to do was have submit buttons that have the same name, but have the request handler detect which button was pressed.. clearly you can do this using javascript.. but some browsers may have javascript disabled.
The Jakarta Struts project promises this capability using their framework. One of the helper action classes was the LookupDispatchAction, but using it wasn't as straightforward as I hoped. Essentially I wanted to create a simple forward/back wizard that would submit a post inbetween pages. The LookupDispatchAction class behaves similarly to how HTML radio buttons work, where you have a similar group name, but each property has a different value (e.g. young, old, dead). In my case, my group was called "direction" with submit values of "next", "back", and "cancel"
Without going through all the gory details, I've provided the source on how to do this. After googling around I couldn't find any concrete samples, other than code snippets that left me wondering like, "should I still provide the execute(...) method in my LookupDispatchAction subclass because none of my direction methods were being invoked." I kept getting errors like: "Request[/step1] does not contain handler parameter named 'direction'. This may be caused by whitespace in the label text"
I also placed an entry in tss, without much luck.
Anyway, here's the code. It's the complete web application including the humongous 2Mb struts libs. (I'm using struts 1.24) I have build scripts for both tomcat 4.1x and tomcat 5.5x
Posted by patrick at 05:24 PM | Comments (7)
December 02, 2004
Finally..
I finally beat my tennis partner this week! After weeks of playing (losing), I finally won. I told you I was a wannabe tennis player. I normally play atleast once a week and try to shoot for more, if he's willing or if other people are available.
I'd like to think it was my excellent ground strokes that pummelled him, but it was probably the freezing cold. We play at 7am on thurs mornings.. and man was it cold today. I felt like my ears were going to fall off! Another possibility -- I wore a hat and he didn't ;)
What a confidence lift.. we'll see how the next few weeks look like, weather permitting. I'm sure he'll bump up to his A-game and kick my butt...
Posted by patrick at 11:00 PM | Comments (0)

