March 2007 - Stay N Alive

Wrong Place, Wrong Time?

My Brother sent this to me. He and my Mom just happened to be traveling through Wyoming on his way to New York during a large snowstorm last week. A strong wind blew, sliding the trailer they were pulling, along with the car off the road. The next thing he knew they were half-way up in the air, trailer all the way upside-down off the road. Amazingly enough, there wasn’t a scratch on his car when they got everything unhooked. The only damage was one item in the trailer.

Luke’s Car, Trailer Upside Down

Let the Gospel Teach Itself!

This is a post I recently posted on a Catholic Forums thread that seemed to be getting heated. I don’t normally hang around those places (including the Mormon ones), but on this one, some of the Catholics had some genuine questions. I noticed however that there were a few, especially Catholics that were former Mormons that kept trying to point out flaws in my faith. I also had recently reread some parts of Talmage’s “The Great Apostasy” and it reminded me of a time when I found the Mormon missionaries letting a Catholic investigator borrow that book. Is that not the same thing, the other way around?

I have always been of the belief that we as Mormons need to teach others about our church. Other religions also need to teach us about their churches. We don’t need to teach each other about each other’s churches though. We learn much more the other way around.

I’m a computer programmer by trade, and for those computer programmers in the crowd, software development can be a very religious topic (no blasphemy intended). Often one software developer will say his preferred language is better than the others. My preferred language is Perl. Yet, I’ve come to find that delving into the other languages and finding the good things in them I’ve been able to come back to my preferred language, Perl, and make it better. Does it change the language? No – the language is still the same. I just introduce new ways of using the plain and simple logic behind the language to produce glorious things in my code.

I think between religions we can do the same. Let’s learn from each other! Let’s please not tell each other how to live our religions though. I think that’s the “Christian” (meaning “like Christ” in my meaning) thing to do.

I’ve been doing a lot of research on the early Christian Church, and some of the evidences within that support the Mormon faith. I’ve got some good stuff. More to come later…

What if Harry Reid Were Running for President?

I was recently reading an excellent article quoted from a Series Deseret Book is doing on famous Mormons, which is a testimony by Senator Harry Reid about his conversion to Mormonism entitled “Why I believe”. The article can be found here:’

[http://mormonstories.org/?p=244](http://mormonstories.org/?p=244)

I have also been following all the hoopla surrounding Mitt Romney running for President and his “being Mormon” hurting his bid. He keeps quoting the Kennedy factor and how Kennedy being Catholic was a similar challenge as to what he is facing today. I can’t help but wonder though, what would happen if the tides were turned and it were instead a Democrat, with very liberal-leaning focus, but with still a firm devotion to the Mormon Church running for President? I personally think it would be a very different story. Here is why:

* He is a Democrat – the majority of Romney’s opposition comes from the Conservative evangelical right, who tend to be anti-Mormon in view. Reid would have a greater chance of surviving his primary.
* The media bias is in his favor – the media is more likely to ignore the issue of Reid’s religion, making it more of a non-issue. They have done so thus far in his political career.
* I don’t recall Reid having issues with his religion in his run for Senator. Romney, being conservative, in his run for Governor it was one of the top issues in his race. I think the same would reflect in a run for President.
* Reid hasn’t worn his religion on his sleeve as Romney has. I’m not saying that’s a good thing, but it has allowed him to avoid the Mormon question.
* Reid is a Mormon convert – he was not Mormon his entire life, and I’m willing to bet he does not have the Mormon history of polygamy, etc. that Romney has been so criticized for. Does that matter? Only when trying to convince the Evangelical right that your religion will not take charge of your politics.
* He, too would probably get the majority of the Mormon vote, a strong conservative base especially in the West

Having thought of this, it’s a scary thought – I’m not a big fan of Senator Reid’s politics. I sincerely hope he does not run – he has a good chance of winning!

3:16 Video

Well, I thought I’d do a little follow up to my previous post, because I know there are going to be some questions. I found the video on YouTube, code-named “3:16”, of which the “Evangelical Christians” will be distributing on Mormon Doorsteps in Utah on March 25th (that’s next Sunday folks). I have to admit, they did their research, and in many places tell the truth like it is, but in the areas where they attack the church they never tell “the Full Story”. I refuse to link to the video here because I’ve proven all the attacks false thus far and I see no reason to spread something that isn’t true. If you do decide to watch it, I strongly encourage you to research any questions it brings up. Google has gotten really good at returning the accurate articles about these stories as one of the first or second hits in your search results, so conveniently, a simple Google search should reveal most of these claims they make false. I actually learned some things – not really anything about what is most important to us Mormons, ie that Jesus is the Christ, and that in and through Him only can we be saved (they did make that point, but for some reason in attack to us Mormons), but I did learn of many physical “evidences” that I didn’t realize before existed about events in the Book of Mormon and Joseph Smith’s life. I’ll list a few here. If you have any questions at all, please feel free to ask them in the comments. To me, once you understand the Mormon point of view of this video, it makes the Mormon religion seem even more glorious and wonderful to be a part of. I’m not quite sure what the evangelicals are trying to do here (well, okay – perhaps the word “Mitt” comes to mind, but why are they just targeting Utah Mormons then?). Anyway, here are my questions and answers that stood out to me from the video:

1. Did Joseph Smith teach that the moon was inhabited?
>>I highly recommend you read this article – it has some good references to back it up, and refers to almost the same questions the video asks, and some: [http://www.lightplanet.com/response/answers/moon.htm](http://www.lightplanet.com/response/answers/moon.htm)
Basically, this question came around due to a rumor based on a man in his old age, “remembering” from 50 years earlier something the Prophet had said. Regardless, who’s to say prophets can’t speculate as well? John the Revelator “saw an angel standing in the sun” (Rev. 19:17). I’m going out on a limb here (I don’t necessarily believe this), but some still speculate man ever went to the moon. Just today there is news about the possibility of caves on Mars. There is much we don’t know about planets and moons outside this planet. Who’s to say Joseph wasn’t seeing men in space suits on the moon, and just thinking they looked like Quakers, since there wasn’t really any good way at the time to describe space suits?

2. How could Joseph Smith have gotten plates from the Hill Cumorah, when the Book of Mormon claims there were great wars with metal weapons before its burial and there is no archaeological evidence to support the possibility of this?

>>Here’s a good article – the whole page is good, actually: [http://www.lightplanet.com/mormons/response/qa/bom_metals.htm#absent](http://www.lightplanet.com/mormons/response/qa/bom_metals.htm#absent) I’ll leave this one up to the article – it basically shows evidences that this claim just isn’t true. There are archaeological evidences, and even if not, some theorize that there could have been 2 Hill Cumorahs – one where the wars took place, and one where Moroni buried the plates. Here’s another good article: [http://www.josephtoldthetruth.com/index.php?pageid=16](http://www.josephtoldthetruth.com/index.php?pageid=16)

3. Did Joseph Smith carry around a “Jupiter Talisman”?

>>This has pretty much been confirmed as a myth. It actually has origins from a talk given in 1974, and was a bunch of hearsay, that based on the article looks like a big telephone game. There is little to no evidence to back up this myth (speaking of evidence), and all evidence seems to point to the contrary. Here’s an article explaining that myth in detail: [http://www.angelfire.com/sk2/ldsdefense/talis.html](http://www.angelfire.com/sk2/ldsdefense/talis.html)

4. Is the Joseph Smith papyri just an Egyptian funeral text?

>>I by no means am an expert on this, so I’ll leave it to the experts. To put it simple, not all Egyptologists agree on this claim from the video. Even if they did, there are so many things they admit they just don’t know about Egyptian civilization! How could they confirm without a certainty claims against what Joseph Smith translated? Regardless, here are some listed disagreements to those claims: [http://www.jefflindsay.com/LDSFAQ/FQ_Abraham2.shtml#facs](http://www.jefflindsay.com/LDSFAQ/FQ_Abraham2.shtml#facs)

Those are just the questions I didn’t directly have answers for until I researched them. I have answers for all the rest, and to put it quite simply, all the claims are false, or only portions of the truth! I do not recommend this video for anyone, especially as an education about the Mormons. However, if you do have any questions about it, please feel free to ask them in the comments.

The Evangelicals are Coming!

Put out the Welcome Mats everybody! The Evangelicals are coming to visit our lovely state of Utah March 25th to convert us Mormons from our evil ways. Their intention is to leave a DVD on the doorstep of every Mormon in Utah so no one can reject their message. Should I bake some cookies for the party? (note – I link to Came2Pass.com so you can see the summary. The actual link is an anti-mormon who is against what the evangelicals are doing – that can be accessed via the link.)

Search Engine Positions for JesseStay.com

I was looking at Google’s Webmaster Tools, and found some entertaining search queries, of which I’m appearing on the front page for:

[yaol](http://google.com/search?q=yaol&hl=en): position 6

[wii store availability](http://google.com/search?q=wii%20store%20availability&hl=en): position 6

[compare and contrast vista and xp](http://google.com/search?q=compare%20and%20contrast%20vista%20and%20xp&hl=en): position 4

[target inventory wii](http://google.com/search?q=target%20inventory%20wii&hl=en): position 6

(my favorite) [mantis eating a mouse alive](http://google.com/search?q=mantis%20eating%20a%20mouse%20alive&hl=en): position 3 (can’t find it though for some reason)

[wii inventory target](http://google.com/search?q=wii%20inventory%20target&hl=en): position 6

[increase your comcast bandwidth](http://google.com/search?q=increase%20your%20comcast%20bandwidth&hl=en): position 2

The Playmill Theatre in Jackson Hole

I thought I’d give a shameless plug for my sister to help her out a little. This site gets a decent amount of traffic, so maybe it could help her out a little.

She and my new brother-in-law are starting a new theatre in Jackson Hole, Wyoming called “The Playmill Theatre in Jackson Hole”. She and my brother-in-law have lots of experience managing, teaching, and producing throughout the US, including on Broadway, so it ought to be a great theatre. Several locals to Utah are performing (including my other sister), and in my Sister’s own words:

>>”It runs from Memorial Day to Labor Day and will be performing The Music Man, Nunsense and Chaps. There will be a different show each night, so one can go to Jackson on the weekend and see all three shows. We just finished casting the shows and are well on our way to a great summer.”

So if anyone can make it, it makes for a great weekend trip from Utah. From now until May 1st tickets are only $20, but they will go up after that, so order soon. You can order tickets at:

[www.playmilljackson.com](http://www.playmilljackson.com)

If you have any questions, feel free to comment and I’ll forward them on to my sister.

UPDATE (4/9/07): My sister says tickets are selling quickly so buy now before they’re sold out!

How to Create Modules in Pligg

As I mentioned earlier, for came2pass.com I had promised any changes to the site would be submitted back to the community for other Pligg administrators to use. I have had several ideas of new functionality for Pligg, of which I am developing. You can expect those in the coming months. Pligg actually makes it really easy to add new functionality with a very little documented plugin architecture called Modules. I have decided to document it here for others to use. It is my hope this can expand the Pligg community even faster than before. I’d like to start this with a disclaimer that I am not a PHP developer as my first trade – my experience roots in Perl, but I do a little PHP as well for my job. So if my terminology is incorrect, please forgive me – it is my intention to have this out there as a service to the community. I am also an outsider – I did not write the Pligg code, and I have not until recently gotten involved with the Pligg community. I have only recently begun to read the Pligg internals, and I try to note my lack of knowledge in the areas I still don’t fully understand. I’ll update this blog entry if I stand corrected in anything, and if anything needs to be added.

While I’d like to delve in immediately on Modules, I should probably preface that there are actually 2 extendible architecture types in Pligg. The first is Pligg’s Module system, a pluggable architecture to extend Pligg functionality. The second are Pligg templates. These allow you to customize your own look and feel, and perhaps even add a few extra functional elements to Pligg as well. Because there is already a vast amount of documentation on the web for templates, I’ll save that for later. Today I’ll focus on Pligg Modules.

Module Hierarchy

To understand how modules work, you have to understand the filesystem hierarchy for each module. All Pligg modules exist as individual directories (listed by module name) in pliggroot/modules. I will refer to pliggroot throughout this document as the path to your pligg web application.

Within pliggroot is also a file called module.php. This is mostly just a file for use by each Module later. It’s a pretty bare-bones file that calls a few of the essential libraries needed to write pligg pages.

Within pliggroot/modules, there are also 3 php files, modules\_init.php, modules\_libs.php, and modules\_manage.php. My understanding is that these files are called when each module hook is called, and tell pligg how to load the modules. I haven’t read deep into them though, so I’ll let the Pligg maintainers explain that later if they want.

Underneath each module directory you will always have a series of files. I will explain those below:

modulename_init.php

Throughout this document, the term “modulename” is the main identifier of the module being written. It just has to be consistent, and unique – I don’t think it really matters what you name it.

modulename\_init.php is your main controller for your module. Most module\_init’s start out with a call to:

include_once(‘modulename_settings.php’);

I’ll explain what that does in a minute. To summarize, it essentially loads all the variables to be used throughout your module.

Following that block, you’ll see in most modules a:

$include_in_pages = array(‘all’);
$do_not_include_in_pages = array();

As the comments in this module says:

// tell pligg what pages this modules should be included in
// pages are minus .php
// index.php becomes ‘index’ and upcoming.php becomes ‘upcoming’

This is essentially a good way to speed up your application. By not selecting “all” and only selecting the pages you want your module to load in, your module will only be called from the pages you select. This keeps unneeded code from loading on the other pages. So, to only load your page in index.php, replace the first line above with:

$include_in_pages = array(‘index’);

$do\_not\_include\_in\_pages() works the same as above, but you are to include in that any pages you absolutely do not want your module to load in. I’m assuming that works best with ‘all’ in $include\_in\_pages.

Next, in each modulename\_init.php you’ll see a section that looks like this:

if( do_we_load_module() ) {

module_add_action(‘module_page’, ‘modulename_function’, ”);
module_add_action_tpl(‘tpl_sidebar_top’, modulename_tpl_path . ‘module_tpl.tpl’);

include_once(mnmmodules . ‘modulename/modulename_main.php’);
}

In the first part, it’s just checking the arrays we talked about above to see if we should go further.

The next module\_add\_actions are essentially setting callbacks for various sections already in the code. module\_add\_action() runs the function listed as parameter 2 at the location of the callback name listed as parameter 1. That function is located in modulename\_main.php. The 3rd parameter I believe is just any parameters you want to send to the function you just called – I haven’t gotten this to work yet though.

module\_add\_action\_tpl() works similarly. The first parameter is a callback name within a template in your templates directory. The second parameter is the name of the customized template you want to place at the location of that callback. module\_add\_action\_tpl() is a great way to insert custom html code into an already existing template.

I have also seen module\_add\_action\_js and module\_add\_action\_css – I’m pretty sure these work similar to module\_add\_action\_tpl, but for css and js files in your templates architecture.

The next line is:

include_once(mnmmodules . ‘modulename/modulename_main.php’);

This just tells modulename_init.php to include the modulename_main.php file for use with the above callbacks. I’ll explain the various callbacks in the main pligg architecture and templates later.

modulename_main.php

modulename\_main.php is simple. It’s just a list of functions you can use elsewhere in your module, such as we just mentioned in modulename\_init.php. You can use all the already included globals that have been called from module.php, including $db, $smarty, $user, and others.

modulename_settings.php

This is where you initialize and set all your variables. To define a variable that can be called from $smartyvariables in your custom templates, do something like this:

define(‘modulename_path’, my_pligg_base . ‘/modules/modulename/’);
$main_smarty->assign(‘modulename_path’, modulename_path);

You can really put anything you want in here that you want called before everything else gets called (see where it’s called above).

modulename_install.php

I can see this module being underused to it’s capacity. This module gets included/called when you click “install” or “enable” under modules as God mode under Pligg’s admin section. Most modules just use it to set some critical variables which I will explain in a second, but you could also use it to do things such as add database tables, add your own patches to Pligg, etc. if you really put it to use. I’ll stick to what most people are doing here though, and that’s set critical variables that determine if the module can be installed or not. Most modules have this code in it:

$module_info[‘name’] = ‘My Module Name’;
$module_info[‘desc’] = ‘This is my sample module description’;
$module_info[‘version’] = 0.1;
$module_info[‘requires’][] = array(‘PHP’, 5);

“name” is just your module name listed with all the other modules. “desc” is the description listed with all the other modules. “version” is the version. “requires” is an array of all required elements. I need to research “requires” further though, as I don’t know how it actually works.

modulename_readme.htm

This is just a readme file that gets linked from the list of modules page in admin mode, of which you can put anything about your module for others to see. I recommend listing notes about any special instructions you have for your users, that you know will get asked on the Pligg forums later.

lang.conf

This is exactly the same as your main lang.conf used in the main Pligg architecture. It is a file to specify global variables that you want to access later. I’m not sure if this shows up under language in your Admin or not. You can then call this lang.conf in your custom templates for your module. Just be sure to reload the main lang.conf after your template is finished, or it will overwrite the current lang.conf!

templates

This is your view. Any user interaction with your module should go here. You can add any template, css, or js file in here, so long as you call them from your callbacks listed in modulename\_init.php. I suggest researching template creation for this, and armed with everything listed above you should be able to create something pretty powerful.

Callbacks

Callbacks are what initiate the entire module process. In each main Pligg architecture php and template file are one or more “callbacks”. In the Pligg php files look for the function “check_actions()”. This function has a string in it – that is the name of your callback. When “check_actions” is called, it reads through all the modules and first looks to see if the current “SCRIPT\_NAME” environment variable (minus .php and the leading “/”) is one of those listed in the $include\_in\_pages array. If this is the case and you specified this callback name in your module_add_action call in your modulename_init.php file, it will run the function associated with that call.

For templates, in your main template architecture, look for something like:

{checkActionsTpl location=”tpl_sidebar_top”}

The {checkActionsTpl call works very similar to above. It also triggers a search for all modules looking for the callback name listed in “location=”, and inserts the template specified by that callback name into the location of the checkActionsTpl call. Again, see above to see how the callbacks are called in your module.

Contextual Scripture “Link Ads”

I was pondering today and had an interesting idea and I’m wondering if it has already been done. If not, maybe I’ll figure out a way to develop something that does it. I have recently been researching “contextual link ads”. These are ads that are basically random links of words within your blog entries that link back to an advertiser that has paid for that placement. It’s a great idea – people are naturally curious, and want to know what the links within blog posts are. I personally do not think they are annoying, as they do not distract from the content being presented.

That concept got me thinking. What if I were to create a service that does this for scriptural quotes and words of the prophets? You place a piece of javascript on your site, and a central database somewhere references particular words and phrases with scriptures and words of inspiration. It would be very interesting to see the links that appear on your site from that, and what your writing actually references to in the scriptures! What are your thoughts? If I were to do something like this, what would you like to see?