The Photo that Nearly Got Me Killed

Several years ago my wife and I entered the Leavenworth Half-Marathon; we had recently both lost weight, and we wanted to do something big to test our new-found health. Because the half-marathon takes place in the Fall, I knew that the leaves on the trees would be changing colors, so I brought my DSLR camera and tripod with me.

On our way back to Seattle after the marathon, we passed by several groves of trees on either side of the road that were displaying a dizzying array of radiant colors. As we approached a road that was announcing a new housing development that was coming soon, I thought this would make a great place to take photos - especially before the developers cut down all of the amazingly colorful foliage to build houses.

As we turned off the main highway between Leavenworth and Seattle, we stopped on a newly-graveled road that led to the future construction sites. To the east of the road was a veritable wall of brilliantly-colored trees, while to the west was an unfenced field with the run-down remnants of a farmhouse and barn.

I got my camera gear out of the car, while Kathleen settled down in the front seat of our car to take a quick nap. I walked along the gravel road, and I stopped periodically to set up my tripod and take a few photos.

Nature did little to disappoint me; it seemed that everywhere I turned I was surrounded by an eruption of vibrant color. My only regret was that I wasn't a better photographer with skills that could capture what my eyes were actually seeing.

I had been careful to stay on the road as I took my photographs for no particular reason; there were no fences that prevented me from crossing into the woods or the nearby field - I simply felt no need to leave the road to line up any of my camera shots. In hindsight, I suppose that I didn't want to track a bunch of mud back to the car.

After a half-hour or so, I had satisfied my inner shutterbug, and I packed my equipment to leave. As I walked back to the car, I realized that if I walked into the field on the west side of the road, I could line up a photo with the barn in the foreground and the grove of trees in the distance.

I have to be honest - there are hundreds if not thousands of photographers who take endless numbers of barn photographs, and that's simply not my style. But on this one occasion, I thought this particular arrangement might result in a decent photo or two. With this in mind, I set down my camera bag in the middle of the road near our car, and I walked a hundred yards or so into the field near the barn.

I set up my camera and tripod, then I lined up a shot, and I set my timer to take a single image. As I heard the shutter click, I happened to notice someone walking towards me from the general vicinity of the dilapidated farmhouse. As the person drew nearer I realized that it wasn't Kathleen, but the stranger waved to me and I waved back cordially. I turned to look at my camera when the stranger's voice was suddenly audible, and I heard him yell, "What the @#$% do you think you're doing!!!"

At that point, I realized that the situation was going to be bad.

Very bad.

As he walked up to me, he swung his arms widely in the air as he screamed a tirade of expletives that made little sense, punctuated by occasional moments of clarity when his threats of beating me to a pulp were all-too intelligible and disturbingly believable.

My would-be assailant drew to a stop within inches of my face, and he continued to hurl fiery verbal spitballs of ill will as I stepped back instinctively. I apologized profusely for whatever it was that I must have done, to which my aggressor shouted that I was trespassing. I apologized again, and I replied that this was my fault entirely; I had seen no signs nor fences to indicate that the property was privately owned. I hastily explained that I thought the land was unoccupied prior to the commencement of the impending development project, while my infuriated companion continuously mocked my every word.

In my former career as a technical support engineer, I had dealt with more than my fair share of angry and unreasonable customers, and I was drawing on every ounce of experience to try everything within my power to diffuse the situation, but nothing seemed to work. My assailant continued to scream at me as I said that I would take my things and leave. As I reached for my camera, my belligerent host screamed, "Don't you touch me!!!", and he jumped back several feet. I explained that I was simply going to pack up my camera, to which he angrily responded, "It's on my land!!! It belongs to me now!!!"

Up to this point in the conversation I had been on the defensive. (Or more accurately, I had been in retreat.) But once he mentioned keeping my camera equipment, I switched gears and strongly remarked, "No - this doesn't belong to you, and I'm taking it with me."

My sudden change in tone prompted a different reaction from my antagonist - he demanded that we call the development company so that I could explain why I was trespassing. I agreed to his terms; after all, I probably was trespassing, even if I had done so unwittingly. But I also thought that whomever I spoke to at the development company would have to be able to participate in a more reasonable dialogue than my enraged escort.

As the two of us walked towards the farmhouse, I had no intention of actually going inside his derelict dwelling. (I've seen too many horror movies for that.) But I suddenly remembered that I had left my camera bag sitting in the middle of the road, and I changed course to recover it. As I did so, my hostile host shouted, "Where are you going???"

I explained that I was going to retrieve my camera bag, but I was now near enough to the car for the shouting to wake Kathleen. As she sat up in our car's front seat, my unwelcome companion suddenly noticed her, and it visibly dawned on him that he was outnumbered. (Even if neither Kathleen nor I were ready to provoke an all-out fight.)

Despite his earlier aggressive stance, my would-be attacker now backed away rapidly, and he yelled at me to leave as fast as possible, and he demanded that I call the property company on my own so that I could explain why I was trespassing. (I agreed to make the call, but of course I never actually did.)

As Kathleen and I drove away, it took a while for the adrenalin to burn off and my nerves to mend. Once we had arrived home safely, I looked through my collection of photos from earlier in the day. I had a few nice photos of colorful leaves, but what I really wanted to see was whether the solitary photo for which I had risked life and limb was worth the potential hazards that I had endured.

I will let you be the judge... here is the actual image:

I think this is the last time that I will try to photograph a barn.

If You Listen to Liberals About Education, You Are a Bad Person

Earlier today I saw a link to an article by Allison Benedikt titled If You Send Your Kid to Private School, You Are a Bad Person. With a catchy title like that, I couldn't resist following the link in order to read what the author had to say about parenthood.

Before I continue, I should point out two important facts: 1) my children's formative years were spent in a mixture of both public and private education, and 2) at the time that Ms. Benedikt published her editorial piece, neither of her children were old enough for school, so any of her admittedly-judgmental opinions were made from the relative safety of someone who has never had to face the harsh realities about the topics which she was discussing. Ms. Benedikt's self-admitted ignorance at the hands of public educators provides little evidentiary support for her thesis statement, and unfortunately she is too blinded by her own hubris to realize it. No - it is not the well-meaning parents of children in private school who are bad people, it is self-righteous and judgmental people like her who are bad people.

I vehemently disagree with Ms. Benedikt's overall premise; it is not the parents who have realized that public education is a failing system who are ruining one of our nation's most-essential institutions – our present educational system is ruining itself. Most parents with school-age children are all-too-aware that public education is depriving their children of knowledge that is necessary to succeed academically. A perfect example is when the overly-vocal and seldom-intelligent actor Matt Damon abandoned his idealistic rhetoric demanding public education for everyone else and placed his own children in private schools. At some point in the not-too-distant future, Ms. Benedikt will be faced with the choice of whether to sacrifice her own children for the sake of her principles, or to choose what is best for her children based on her maternal instincts.

I also passionately object to anyone who insists that I should not turn my back on any failing system and subject my children to a negative environment in the hopes that the system will improve for future generations. My children are not a social experiment, nor am I willing to gamble with their lives. I do not care if Ms. Benedikt and her ilk intend to fix the schools of the future if the methods to achieve those goals cheat my children in the present.

By the way, each of my three children started in public school until my wife and I realized how poorly they were being educated. After three failed attempts with public schools, we moved each child into private school for their primary education to give them a better foundation, and then we returned them to public schools for secondary education. This system helped each of our children immensely, all of whom have now graduated college and embarked on successful careers.

Without getting deeper into an unintentional political rant, this private versus public school debate illustrates much of what is wrong with most socialistic policies; many "public" institutions fail because they become so weighed down by unnecessary bureaucracy that they can barely serve their primary purpose. Public education is not failing because parents are pulling their children out; public education is failing because we do not pay our educators enough, and we do not provide adequate resources for our schools. While it is true that our taxpayer dollars are simply not paying enough to take care of all society's educational expenses, we also have a system that is so top-heavy with needless bureaucrats and inundated with policies which occupy entirely too much time. As a result, our nation is not seeing a sufficient return on investment. What's more, the measures that the Department of Education has implemented to standardize education and hold teachers accountable for their results have been complete failures.

But that being said, here are a few of my grievances with the various excuses that I have personally heard from public educators:

  • Overheard from public teachers: "We cannot be expected to teach your children everything; parents need to be involved, too." I whole-heartedly agree with this statement - parents MUST be involved in their children's education; this should always mean that parents are involved in their children's studies at home, and this might mean that parents should volunteer at their children's schools if that is possible. But I have seen this statement used as a cop-out by far too many public school teachers who wasted our children's valuable classroom time with unnecessary endeavors and sent our children home with a mountain of homework after receiving no classroom instruction, thereby leaving the parents as the sole educators. If this is to be the case, then why do we need teachers? Why shouldn't I just homeschool my children and dispense with the transportation to and from school so my children can meet with a disengaged educator?
  • Overheard from public teachers: "We cannot be expected to personalize education for your child." The implication here is that your child is left to fend for himself or herself academically. This is a classic example for one of the primary causes of public education's many failures: people are individuals, and everyone learns differently. In our society we are REQUIRED to accept everyone's individuality – it's what we call DIVERSITY. It doesn't matter what color skin you have, whether you are a man or woman, which religious beliefs you embrace or reject, etc. Everyone is a distinct person, and we must accept their uniqueness – which SHOULD include each child's learning style. But apparently our societal adoption of tolerance and diversity does not extend to public school educators, who appear to have adopted "sink or swim" and "one size fits all" attitudes toward individualism. How barbaric and antiquated can these "teachers" be?

I'll get off my soapbox now, but I'd like to discuss one final point – as I mentioned earlier, Ms. Benedikt's children are not yet old enough to attend school, which prevents me from taking any of her self-righteous drivel seriously. In my opinion, her lack of personal experience in this matter disqualifies her from passing judgment on parents who actually have to decide what is best for their children; close-minded and emotionally detached fools with no personal stake in this debate should be ineligible to weigh in on the issue.

You Know You're From Arizona When...

Note: A friend had reposted the following list on the Internet... I love these kinds of lists, because they always provide you with a chance to laugh at your surroundings in a way that only someone with intimate knowledge of the area can appreciate.

You Know You're From Arizona When...

  1. You can say "Hohokam" and no one thinks you're making it up.
  2. You no longer associate rivers or bridges with water.
  3. You know that a "swamp cooler" is not a happy hour drink.
  4. You can contemplate a high temperature of 120 degrees as "not all that bad, after all it's a dry heat."
  5. You have learned to expertly maneuver your vehicle under any traffic conditions using only two fingers; a skill usually learned initially in July.
  6. You know that you can make sun tea outside faster than instant tea in your microwave.
  7. You have to run your air conditioner in the middle of winter so that you can use your fireplace.
  8. The water coming from the "cold" tap is hotter than that from the hot" tap.
  9. You can correctly pronounce the following words: "Saguaro", "Tempe", "Gila Bend", "San Xavier del Bac", "Canyon de Chelly", "Mogollon Rim", "Cholla", and "Tlaquepacque", "Ajo".
  10. It's noon on a weekday in July, kids are on summer vacation, and not one single person is moving on the streets.
  11. Hot air balloons can't fly because the air outside is hotter than the air inside.
  12. You buy salsa by the gallon.
  13. Your Christmas decorations include a half a yard of sand and 100 paper bags.
  14. You think a red light is merely a suggestion.
  15. All of your out-of-state friends start to visit after October but clear out come the end of April.
  16. You think someone driving while wearing oven mitts is clever.
  17. Most of the restaurants in your town have the first name "El" or "Los."
  18. You think six tons of crushed rock makes a beautiful yard.
  19. You can say 115 degrees without fainting.
  20. Vehicles with open windows have the right-of-way in the summer.
  21. People break out coats when the temperature drops below 70.
  22. The pool can be warmer than you are.
  23. Most people will not drink tap water unless they are under dire conditions.
  24. Monday Night Football starts at 7:00 instead of 9:00.
  25. You realize Valley Fever isn't a disco dance.
  26. People with black cars or have black upholstery in their car are automatically assumed to be from out-of-state or nuts.
  27. You know better than to get into a car/truck with leather seats if you're wearing shorts.
  28. Announcements for Fourth of July events always end with "in case of monsoon..."
  29. You have to explain to out-of-staters why there is no daylight savings time.
  30. When someone asks how far you live from a location, it's always in terms of minutes/hours, not miles.
  31. Your biggest bicycle wreck fear is, "What if I get knocked out and end up lying on the pavement and cook to death?"
  32. You can say "haboob" without giggling.
  33. You realize that asphalt has a liquid state.

Ah, so true, so true... ;-)

Connecting the Windows Phone 8 Emulator to Web API Applications on a Local Computer

I've been playing around with Web API a lot recently, and I've found that it's a really powerful and elegant way to create internet-based applications. After writing several server-side Web API applications, I thought that it would be fun to write a Windows Phone 8 application that used Web API to communicate with one of my server-side applications.

I was using the Visual Studio 2013 Preview to write my Web API application, and by default Visual Studio 2012 and later use IIS Express for the development web server on http://localhost with a random port. With this in mind, I thought that it would be trivial to create a Windows Phone 8 application that would be able to send HTTP GET requests to http://localhost to download data. This seemed like an easy thing to do, but it turned out to be considerably more difficult than I had assumed, so I thought that I would dedicate a blog post to getting this scenario to work.

I should point out that I stumbled across the following article while I was getting my environment up and working, but that article had a few steps that didn't apply to my environment, and there were a few things that were required for my environment that were missing from the article:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj684580.aspx

In addition, there were a few things that I needed that might not apply to everyone, and I'll try to point those out as I go along.

System Requirements for Windows Phone SDK 8.0

First things first, you need to make sure that you have a physical computer that meets the system requirements for the Windows Phone 8 SDK that are posted at the following URL:

http://www.microsoft.com/en-us/download/details.aspx?id=35471

Here is an annotated copy of the system requirements list at the time that I wrote this blog:

  • Supported Operating Systems:
  • Operating System Type:
    • Windows 8 64-bit (x64) client versions
    • Note: You cannot use Windows 8 32-bit (x86) client versions
  • Hardware:
    • 6.5 GB of free hard disk space
    • 4 GB RAM
    • 64-bit (x64) CPU
  • Windows Phone 8 Emulator:
    • Windows 8 Pro edition or greater
    • Requires a processor that supports Second Level Address Translation (SLAT)
    • Note: The Windows Phone 8 Emulator runs in Hyper-V, so you cannot use a Hyper-V virtual machine for the host computer where you install the Windows Phone 8 SDK
  • Additional Notes:
    • If your computer meets the hardware and operating system requirements, but does not meet the requirements for the Windows Phone 8 Emulator, the Windows Phone SDK 8.0 will install and run. However, the Windows Phone 8 Emulator will not function and you will not be able to deploy or test apps on the Windows Phone 8 Emulator.

You Cannot use "Localhost" for Testing

The first time that I launched my Web API application and tried to connect to it from the Windows Phone 8 Emulator (WP8E), I used "http://localhost" as the domain where my Web API application was hosted. This was a silly mistake on my part; the WP8E runs in Hyper-V, and the WP8E believes that it is a separate computing device than your host computer, so using "http://localhost" in the WP8E meant that it was trying to browse to itself, not the host machine. (Duh.)

Your Host Computer Must Not Use IPSEC

My computer was joined to a domain, and our domain uses IP Security (IPSEC) for obvious reasons. That being said, the Windows Phone 8 Emulator is not going to use IPSEC to connect to the host machine, so I needed to find a way around IPSEC.

Our IT department allows us to make a domain-joined machine as a boundary machine to get past this problem, but I decided to set up a new, physical machine from scratch for my development testing.

Verify that the Windows Phone Emulator Internal Switch Exists

After you install the Windows Phone 8 SDK with the Windows Phone 8 Emulator (WP8E), you will have a new virtual machine in Hyper-V with a name like "Emulator WVGA 512MB"; this is the actual WP8E instance.

You should also have a new virtual switch named "Windows Phone Emulator Internal Switch" in the Hyper-V Virtual Switch Manager; WP8E will use this virtual switch to communicate with your host machine. (This virtual switch was missing on one of the systems where I was doing some testing, so I had to add it manually.)

Disable Windows Firewall on your Host Computer

Since the Hyper-V machine for the Windows Phone 8 Emulator (WP8E) and IIS Express will be communicating over your network, you will need to make sure that the Windows Firewall is not blocking the communication. I attempted to add an exception for IIS Express to the Windows Firewall, but that did not seem to have any effect - I had to actually disable the Windows Firewall on my development machine to get my environment working. (Note that it is entirely possible that I needed to configure something else in my Windows Firewall settings in order to allow my environment to work without disabling Windows Firewall, but I couldn't find it, and it was far easier in the short term to just disable Windows Firewall for the time being.)

Verify the Internal IP Address of your Windows Phone 8 Emulator

It's entirely possible that the Windows Phone 8 Emulator (WP8E) always uses a 169.254.nnn.nnn IP address on the "Windows Phone Emulator Internal Switch", but I needed to make sure which IP address range to use when configuring IIS Express.

The way that I chose to do this was to drop the following code inside my WP8E application and I stepped through it in a debugger to tell me the IP addresses that WP8E had assigned for each network interface:

var hostnames = Windows.Networking.Connectivity.NetworkInformation.GetHostNames();
foreach (var hn in hostnames)
{
    if (hn.IPInformation != null)
    {
        string ipAddress = hn.DisplayName;
    }
}

I had two IP addresses for the WP8E: one in the 192.168.nnn.nnn IP address range, and another the 169.254.nnn.nnn IP address range. Once I verified that one of my IP addresses was in the 169.254.nnn.nnn range, I was able to pick an IP address in that range for IIS Express.

Add an Internal IP Address to IIS Express for your Web API Application

Once you have verified the IP address range that the Windows Phone 8 Emulator (WP8E) is using, you can either pick a random IP address within that range to use with IIS Express, or you can use the default IP address for the Windows Phone Emulator Internal Switch. To verify the default IP address, you would need to open a command prompt and run ipconfig, then look for the Internal Ethernet Port Windows Phone Emulator Internal Switch:

C:\>ipconfig

Windows IP Configuration

Ethernet adapter vEthernet (Internal Ethernet Port Windows Phone Emulator
Internal Switch
):

   Connection-specific DNS Suffix . :
   Link-local IPv6 Address . . . . . : fe80::81d3:c1c7:307b:d732%11
   IPv4 Address. . . . . . . . . . . : 169.254.80.80
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . :

Ethernet adapter vEthernet (Intel(R) 82579LM Gigabit Network Connection
Virtual Switch):

   Connection-specific DNS Suffix . :
   Link-local IPv6 Address . . . . . : fe80::3569:3387:bb3f:583b%8
   IPv4 Address. . . . . . . . . . . : 192.168.1.72
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

C:\>

If you decide to use a custom IP address in the range that your Windows Phone 8 Emulator is using, you would need to enter that IP address in the IPv4 TCP/IP settings for the Internal Ethernet Port Windows Phone Emulator Internal Switch:

(Click the image to expand it.)

Once you have the IP address that you intend to use, you will need to add that to your IIS Express settings. There are two easy ways to do this, both of which require administrative privileges on your system:

Method #1: Use AppCmd from an elevated command prompt

Open an elevated command prompt session by right-clicking the Command Prompt icon and choosing Run as administrator, then enter the following commands:

cd "%ProgramFiles%\IIS Express"

appcmd.exe set config -section:system.applicationHost/sites /+"[name='WebApplication1'].bindings.[protocol='http',bindingInformation='169.254.21.12:80:']" /commit:apphost

Where WebApplication1 is the name of your Web API application and 169.254.21.12 is the IP address that you chose for your testing.

Method #2: Manually edit ApplicationHost.config

Open Windows Notepad as an administrator, and open the "ApplicationHost.config" file for IIS Express for editing. By default this file should be located at "%UserProfile%\Documents\IISExpress\config\ApplicationHost.config".

Locate the code for the website of your Web API application; this should resemble something like the following, where WebApplication1 is the name of your Web API application:

<site name="WebApplication1" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebApplication1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation=":54321:localhost" />
    </bindings>
</site>

Copy the existing binding and paste it below the original entry, then change the binding to resemble the following example, where 169.254.21.12 is the IP address that you chose for your testing:

<site name="WebApplication1" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebApplication1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation=":54321:localhost" />
        <binding protocol="http" bindingInformation="169.254.21.12:80:" />
    </bindings>
</site>

Save the file and close Windows Notepad.

Specify the Internal IP Address of your Web API Application in your Windows Phone 8 Application

Once you have configured IIS Express to use an internal IP address, you need to specify that IP address for your Windows Phone 8 application. The following example shows what this might look like:

public void LoadData()
{
    if (this.IsDataLoaded == false)
    {
        this.Items.Clear();
        WebClient webClient = new WebClient();
        webClient.Headers["Accept"] = "application/json";
        webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
        webClient.DownloadStringAsync(new Uri(@"http://169.254.21.12/api/TodoList"));
    }
}

Where 169.254.21.12 is the IP address that you chose for your testing.

Configure Proxy Settings in your Internet Options to Bypass the Proxy for your Internal IP Address

It is essential that you configure your proxy settings so that the IP address of your Web API application will be considered an internal network address; otherwise all of the requests from the Windows Phone 8 Emulator (WP8E) will attempt to locate your Web API application on the Internet, which will fail.

The WP8E will use the proxy settings from your Windows Internet options, which are the same settings that are used by Internet Explorer. This means that you can either set your proxy settings through the Windows Control Panel by using the Internet Options feature, or you can use Internet Explorer's Tools -> Internet Options menus.

Once you have the Internet Options dialog open, click the Connections tab, then click the LAN settings button.

There are a few ways that you can specify your IP address as internal:

Method #1: Specify your proxy server, then click the Advanced button and add your internal IP address to the list of exceptions:

Method #2: If you do not need actual Internet access during your testing, you can specify "localhost" as the proxy server, then click the Advanced button and add your internal IP address to the list of exceptions:

Method #3: Specify your internal IP address as the proxy server; it isn't really a proxy server, of course, but this will keep the requests internal.

Launch IIS Express as an Administrator

In order for IIS Express to register a binding with HTTP.SYS on an IP address other than 127.0.0.1, you need to run IIS Express using an elevated session. There are two easy ways to do this:

Method #1: Launch IIS Express from Visual Studio as an administrator

Start Visual Studio as an administrator by right-clicking the Visual Studio icon and choosing Run as administrator. Once Visual Studio has opened, you can open your Web API project and hit F5 to launch IIS Express.

Method #2: Launch IIS Express from an elevated command prompt

Open an elevated command prompt session by right-clicking the Command Prompt icon and choosing Run as administrator, then enter the following commands:

cd "%ProgramFiles%\IIS Express"

iisexpress.exe /site:WebApplication1

Where WebApplication1 is the name of your Web API application.

In Closing

As I pointed out in my opening statements for this blog, getting the Windows Phone 8 Emulator to communicate with a Web API application on the same computer was not as easy as I would have thought, but all of the steps made sense once I had all of the disparate technologies working together.

Have fun! ;-]


Note: This blog was originally posted at http://blogs.msdn.com/robert_mcmurray/

Thinking Backwards about the Environment

I mentioned to my wife the other day that the question of ecological conservatism is backwards from a political perspective.

The typical definition of Liberals versus Conservatives is that "Liberals" (who are often called "Progressives") are rushing forward in the name of what they think is progress (sometimes foolishly) while "Conservatives" are fighting hard to preserve what is already there (sometimes like a stick in the mud; just as stubbornly and just as stupidly).

These two points of view will often fight vehemently against the other on issues simply because they feel that they "have to disagree," and not because they actually disagree. Preserving the planet is one such example - I think that most of the arguments that I hear from one side or the other are more often about disagreeing with the opposing position than about the actual issue.

But here's where it gets really strange: when it comes to saving the planet, somehow it is the "Liberals" who want to conserve, and it is the "Conservatives" who are rushing forward in the name of progress (often foolishly) and irrevocably damaging the planet.

But there's an interesting wrinkle in this debate that is often overlooked within the church: many Christians are Conservatives, and as such they join their fellow Conservatives when it comes to fighting issues like ecology. But according to Scripture, Christians have been charged with taking care of the environment, so they should really be trying their best to preserve the planet. So why do most church-goers seem to be fighting against environmentalism?

As I mentioned initially, this whole situation is inexplicably backwards; it just doesn't make sense to me.

I'll get off my soapbox now...

Saints or Sinners / Snacks or Snafus

Over the past few years I have sat quietly and watched a lot of people argue across myriad political issues on Facebook. There are people who love portions of our government and its policies, while others detest them. The current scandal-of-the-day is that some see Manning and Snowden as heroes, while others consider them traitors.

I have tried my best to keep my silence, because the last thing that anyone needs is another person adding their opinions to a cyber-sphere that is already saturated by divisiveness, ignorance, and paranoia. But eventually an issue arises where I simply cannot remain silent; sometimes our government has unquestionably gone too far.

With all the dangers and terrors in this world from which we need protection, how is it possible that German Kinder Eggs must be banned by the Federal Hazardous Substances Act?

Somehow I am sure that Communists are to blame. ;-)