The Vault

The Bible vs. Simple Physics

About two years ago, I posted a note on Facebook which explained why the laws of physics (and really, common sense) prohibit the construction of the temple as described in 1 Kings 6 and 1 Chronicles 22. A brief discussion ensued afterward in which a pastor (and good friend) attempted to defend what the Bible said. However, the situation continually worsened for the Bible, as what it describes in physical terms (i.e., without hiding behind miracles) was revealed to be all the more physically impossible.

Because this example plainly shows the absurdity of the Bible, I’m republishing it here for your consideration, and I welcome any and all feedback on it. What follows is “The Bible vs. Simple Physics” as originally published May 18, 02011.

The Vault

How to Automatically Clean Up Spam on Your WordPress Site

WordPress’ companion spam blocking tool, Akismet, does a fantastic job of weeding out spam from legitimate comments, but what happens? After some time, your spam comments could number in the thousands, bloating your database size, slowing down comments management, and making baby angels cry.

In my experience, on certain shared servers, simply emptying your spam folder if it has many thousands of comments can bring the server to its knees, resulting in time-outs and a spam folder that isn’t any more manageable than before your efforts to melt your server into oblivion.

While it would be great if WordPress had a clean-up feature — like it does with the trash folder — to keep the number of spam comments at bay, fortunately for us dealing with it on our own is rather easy. Simply include the following code in your theme’s functions.php file (or custom_functions.php if you’re using Thesis 1.8.5, as you should be), and your blog will begin automatically cleaning up spam twice a day, keeping your comments table far more manageable.

The Vault

How to Enhance WordPress+Thesis Comments with Gravatar Profile Data

For a few years now, Gravatar has offered public profiles for its massive user base. Now in addition to simply global avatars, Gravatar users could create a profile with links, verified social accounts, and more.

And for me, one of the coolest features of this was that the profiles were open — both in the sense that they are free to use, but that they are public, with most of the profile information being available in several forms useful to programmers.

Ideally, this would mean that I could update my website address or avatar on Gravatar and have it proliferate out to anywhere — Facebook, Twitter, forums of which I’m a member, etc. But the one place where Gravatar has always excelled is blog comments: I certainly appreciate having a face (or at least some unique avatar) to go with a comment someone makes!

The Vault

Quickly Convert Thesis 1.8.5 to HTML 5

A long time ago, I promised a tutorial on how to convert Thesis 1.8.5 from an XHTML Strict document type to the new hotness: HTML 5.

There are plenty of reasons to switch, and it really is quite simple!

The Vault

Dumber and Dumber and Dumber

Disinformation reported on a Natural Society article about Stanford University geneticist Dr. Gerald Crabtree’s claims that humanity is getting dumber, for a variety of reasons, mostly due to our exposure to things like fluoride or pesticides.

But honestly, why shouldn’t mankind be getting dumber? It would seem to be the natural course of evolution for us, and I’ll tell you why.

Crabtree claimed, “I would wager that if an average citizen from Athens of 1000 BC were to appear suddenly among us, he or she would be among the brightest and most intellectually alive of our colleagues and companions, with a good memory, a broad range of ideas, and a clear-sighted view of important issues,” and in so doing hinted at what may be the real reason folks may have been more intelligent way back then.

And that reason was that they needed to be. It’s simple natural selection, in a sense: Earlier in humanity’s history, folks were much more pitted against the elements and even other tribes and certainly other animals than they are now. Therefore, having the intelligence to not only survive but to thrive under those conditions would provide far more opportunity to reproduce, resulting in any genes which had a role in that intelligence being passed along.

And we see that in the common jobs throughout history — builders, weapons makers, soldiers, farmers. These were jobs of survival as that was mankind’s foremost concern for most of its history.

But as time has progressed, we no longer focused as heavily on survival. Our ability to pass along knowledge resulted in that knowledge accumulating, resulting in higher forms of entertainment or other objects of pursuit that had simply nothing to do with survival. And the keen intelligence and instinct required to survive slowly became a non-issue for a great deal of mankind, with most people able to get by with a day job, the only piece of which having to do with their survival is the paycheck itself.

And so intelligence is no longer a vital trait in mating and reproduction. “Survival” still is, however, but now it doesn’t take finely tuned skills, instincts, and intelligence in order to survive.

So it doesn’t surprise me that the more “advanced” humanity gets (largely through the efforts of a tiny percentage of the population), the less intelligent the rest of the population will become, simply because intelligence won’t be necessary.

And we’ll see more of that through the years: automated cars, spell checkers on everything (including phones and, someday, smart paper), augmented reality, automated navigation tools, “smart” weapons, unending task-list & calendar applications, and so much more.

Human intelligence is deprecated; it’ll be phased out of the global system once the machines take over designing & producing everything which allows us to survive.

Our intelligence has cursed us, and like Ernest P. Worrell’s family, we’re doomed to become “dumber and dumber and dumber” (Ernest Scared Stupid).

The Vault

One Month Down, Eleven to Go

Here I am, over a month into 2013 — the year that was supposed to be my year.

Such grand plans for a multitude of websites. Well, I’m still here, but I’ve not really found any time to devote to my online endeavors.

This is unfortunate because every day that goes by, the number of Internet users increases, and with that, the number of people who are wrong on the Internet also increases. I must help stem this tide!

That said, I’m not sure if I really want to divide my efforts among several different sites like I had announced excitedly back in December. This site, despite my neglect, has received a steady, respectable number of daily visits for quite some time now; even the flow of legitimate comments has remained steady.

In other words, I need to build on this site’s foundation before laying foundations at numerous other sites, hoping for any sort of repeated success. Maybe if I ever find myself in a position to be at home all the time to focus on blogging, multiple sites may be worth maintaining. Currently? No.

So I may endeavor to do what I’ve tried to do so many times in the past: Organize How hard can it be? It only holds the archives to… half a dozen or more disparate blogs? Yeah…

No matter what, I have my work cut out for me.

The Vault

Where Did I Come From, Where Am I Going

This may be one of my last blog posts, at this blog anyway. It’s been suggested to me that this site looks as though it was organized by a blind orangutan; that suggestion was made by me, after some feedback from a few folks.

2012 has been a year of both transition and growth for me, but even though I went into 2012 with a plan on paper for getting this website back on track, none of those plans coalesced. Indeed, I stepped backward, not forward, as it pertains to my digital arena.

Dad, who is also an occasional blogger, once bragged to folks that I had a “Web empire,” back when I was juggling multiple websites, including a decently popular community of Christians on a message board I administered. Those were the days…

My digital glory days are not over, of that I assure you.

I’ve ranted and raved a lot this year about religion, and Christianity in particular. I’m going to push that more in the future. The more I look around, the more pissed off I get over the state of Christianity and its involvement in the world — particularly in America. Most of what I see wouldn’t be an issue if I didn’t know the Bible so well. It is said that the Bible is a double-edged sword (well, it calls itself that… so it just must be so, right? ;), so while it is used to influence politics and the public square, I’m going to push back, as hard as I can.

Because Christians have no right to simultaneously denounce homosexuality while eagerly participating in materialistic church services.

Because Christians have no right to participate in American politics while at the same time claiming to be ambassadors of an otherworldly kingdom.

Because Christians have no right to expect anyone else to believe their message when they’re so often ignorant (willfully or otherwise) or disobedient of what the Bible demands of them.

Seeing the stream of reactions from Christians during the aftermath of the recent Sandy Hook Elementary School shooting has embroiled my heart, and I’m hopeful that I can find the passion to make an effective push back against religion.

But matters of religion are only part of the reason people wind up here. The coding bug has bitten me anew, and I’ve been hammering away at OpenHook in any free time I can find; recent updates I’ve made to the software have pushed it nearly to the 200,000 downloads milestone. For a niche plugin, that’s spectacular.

And I’ve already made significant progress toward the next major release of the plugin, which I have no doubt will be a crowd pleaser.

All of the above leads me to believe that I’ll very soon be running a great number of sites, perhaps justifying all of the domain names I own… would remain here, an archive of the past half decade or so of me shoehorning various failed blogging projects into this one domain. could become something useful for once in its life, perhaps an identity hub and personal journal, which would perhaps motivate me to deal with my online identity crisis in a realistic manner. would hold my coding journal — tips, tricks, and code that I’ve picked up along my way. would hold my worldview journal, but should I stick with that? I find myself being bothered by “atheism” being a defining aspect of my worldview. All it entails is that I lack belief in any god or goddess, but it says nothing of my view of man, of other religious beliefs, of the world, of morality, etc. That’s the realm of -isms like “humanism.” And I’ll be honest, I’m not sure how to define my beliefs. Maybe BrazenlyAtheist is appropriate, for it’s the only thing I’m really sure of — note that I’m not saying I’m sure there is no god, which is something I admit to being unprovable, making such a declaration largely irrelevant; I’m simply stating that I’m sure I don’t believe in any god., rather than redirecting to an out-of-date, hodgepodge page on this site, would instead contain a real home for OpenHook online, perhaps including a user community to facilitate the sharing of code.

Five sites… Four of which I’d have to build, design, somehow keep unique, and then write content for… Oy vey.

2013, bring IT ON!

The Vault

BrazenlyFor Hire

I made my first website sometime in the late nineties, back when HTML 4.01 was the standard to meet, and the “cool” things to do involved changing the color of the scrollbars or introducing transitions between page views… Things which I’m glad to have seen gone by the wayside.

In those nearly fifteen years, I have picked up plenty of useful knowledge, largely centered around WordPress.

This knowledge goes beyond knowing how to tinker with a block of code; I have come to believe in people, having seen too many companies with admittedly great products or services treat people as numbers, clients, or (worse case) nuisances. Respect & a friendly personality are what I bring to the table. And while I’m not opposed to doing work for larger companies, I prefer working with individuals or small businesses, helping them to find a footing online, a foundation from which their online presence can grow as needed.


So what can I do for you? (All prices are in USD.)

If you don’t see a service you need, don’t hesitate to get in touch!

Basic Start

If you don’t have a website yet, I want to help you get up & running! When complete, you will have a fully operational website awaiting your content.

  • I highly recommend Dreamhost for your Web hosting needs. It’s only about $120 per year, comes with a free domain name for the life of your hosting account, and offers unlimited bandwidth & storage, great support, and much more.
  • For content hosting, I recommend WordPress & for message boards (forums), phpBB.


  • Installation & initial configuration of one major program (such as WordPress or phpBB): $150
  • If you don’t already have a web host & domain name and want those things set up for you as well, add $50 to the above price.
Basic Start + Training

This is the same as the basic start package above but it includes two hours of “boot camp” training to get you started adding content to your site. I’ll do my best to anticipate your needs during this training, but if you could be prepared with the questions you need answered beforehand, that’d be fantastic. The mode of this training (whether via instant messenger, phone call, or in person [if you’re local enough]) is up to you.

Price: Whichever “Basic Start” package you choose + $125

WordPress Basics

WordPress is a fantastic platform in & of itself, but the chances are good that you’re going to want to extend your site beyond the basic features of WordPress. Whether you’re wanting to improve spam protection or add a list of your most popular posts, this is the package for you.

Pricing for this package is wholly variable; I’ll discuss with you the particular needs of your site, from which I’ll be able to quote you a fee.

WordPress SEO

Anyone who claims to be an expert in search engine optimization is lying to you. The fact of the matter is that SEO is a moving target. I believe in a simple, common sense approach to SEO, and this package will include up to two hours of 1-on-1 training (in the same manner specified above under “Basic Start + Training”), registration of your site with Google, and a review of up to five posts or pages on your site for SEO quality. I believe it is important to use your own content as you write it for this so that you best know how to apply SEO best practices.

Price: $250

Disclaimer: I make no guarantees or promises regarding search engine placement. Attaining high-ranking results for quality keywords is difficult to do, and I’ll explain why during the training session when I explain the best practices that may help you attain better rankings.

Technical Support & Maintenance

Whether you have specific issues that need sorted out (website displaying errors, something is too slow, plugins won’t install properly, you need something changed around and it’s beyond your ability, etc.) or you simply want a preventative maintenance overview, I can help you out with that! Minimum billable time is one hour of work, and the cost is $75 per hour.

If you want someone who will keep your eye on your site, ensuring everything (core software, plugins, themes) stays up-to-date and working smoothly, $500 will get you six months of coverage, with at least four checks on your site per week. (For every additional six months of coverage, the price is discounted; i.e., one year of coverage is $950, 18 months is $1400…)

Security Audit

The Web is full of bad people (or compromised computers, running amok) that want nothing more than to gain control of your website. The reasons for this are diverse, if there is any reason at all, but a great deal of these problems can be stopped. If your site is powered by WordPress, I would love to help fortify your site using a variety of tricks & tools I’ve picked up over the years. This audit covers protection against both spammers & hackers, and it costs $350.

Disclaimer: No system, even a secured one, can be considered 100% secure. Therefore, included in the $350 is one year of recovery coverage; if your website is compromised, I will assist you in getting back up and running as smoothly as possible.

And more!

It’s hard to anticipate all the needs you may have, so if you don’t see a WordPress-related service here, get in touch! We might be able to work something out.

Note: Visual design isn’t my forte. While I can adapt free or open source designs to Thesis — my WordPress theme framework of choice — creating new & original designs is not in my skill set. But if you need small design work or refinements, get in touch!

The Vault

Keep the Crackers Guessing with Auto-Updating WordPress Salts and Keys

Are you a website administer concerned about the security of your WordPress-based sites? Then you’re going to want to take a moment to read Why WordPress Authentication Unique Keys and Salts Are Important by codeseekah.

In it, codeseekah explains the value of this block of code, which ought to be familiar to anyone who has set up a WordPress site in recent years:

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

By making these salts & keys unique to your site, you’re ensuring that it is much, much more difficult for a malicious entity to crack your site’s security by mimicking a logged in individual.

Toward the end of the article, codeseekah recommends changing your salts & keys every so often — given that these are practically as sensitive as passwords, changing them up every now and again ensures that if there are any compromised cookies out there, they’ll be invalidated and the malicious entity will have to begin anew.

Here is a solution similar to (but not identical, mind you) what I run on my sites:

define( 'SALTY', $_SERVER[ 'HTTP_USER_AGENT' ] . $_SERVER[ 'HTTP_HOST' ] . date( 'F' ) );
define('AUTH_KEY',         SALTY . 'put your unique phrase here');
define('SECURE_AUTH_KEY',  SALTY . 'put your unique phrase here');
define('LOGGED_IN_KEY',    SALTY . 'put your unique phrase here');
define('NONCE_KEY',        SALTY . 'put your unique phrase here');
define('AUTH_SALT',        SALTY . 'put your unique phrase here');
define('SECURE_AUTH_SALT', SALTY . 'put your unique phrase here');
define('LOGGED_IN_SALT',   SALTY . 'put your unique phrase here');
define('NONCE_SALT',       SALTY . 'put your unique phrase here');

What this will do for you is ensure that not only are your salts & keys unique to your site, they’re going to be determined by your users as well, as your users’ browser user-agent will be used in building them.

The above code also ensures that your salts & keys stay fresh, basically auto-updating if your user changes or upgrades their browser (or otherwise causes its user-agent to be modified), if your site’s domain name changes, or when the month changes.

I encourage you to play around with coming up with your own “set it and forget it” list of auto-updating salts & keys. Keep in mind that you’re not going to want to use something which changes too often, unless your site is targeted at an audience using mainly public computers. If the content of your site is sensitive or secure, you might consider using code which updates the salts & keys weekly or even daily, forcing users to validate themselves more often.

The Vault

The Brazenly Coded Box for Thesis 2.0

The Brazenly Coded Box is no longer supported (and may not work at all on current versions of Thesis)! Download OpenHook to take advantage of its OpenBox feature, which provides similar (but better programmed) functionality to the Brazenly Coded Box!

Looking to take your Thesis 2.0 install to the next level? Give yourself nearly limitless customization abilities with the Brazenly Coded Box! It’s more or less just like Thesis’ built-in Text box, which allows you to add plain text and HTML to your site; however, the big difference is that with the Brazenly Coded Box, you have the freedom to include any PHP coding in your site, wherever a box may be placed in Thesis.

Download the Brazenly Coded Box now!

If you’re familiar with OpenHook and how it allowed you to execute custom code wherever Thesis pre-2.0 had hooks, then this concept should be a little familiar to you. Note: Code inserted in the box will need wrapped in the appropriate <?php ?> tags; otherwise, this box will perform pretty much just like the default Thesis text box!

Do take note that, as always, having the power to add completely custom code to your site means having the power to completely hose the entire site. Seriously, if you wanted to, you could create a box that wipes your entire database upon which your WordPress is installed. Be careful! Double-check those codes, don’t install this if you don’t trust every user who has access to your Thesis admin area, and so on.

And don’t blame me if, through the use of this, your site explodes in your face!


Within your Thesis 2.0 administration panel, choose “Boxes -> Select Boxes.” On that page, upload; after it installs, tick the checkbox next to it, save your boxes, and then visit the skin editor for whichever template you wish to edit. On the editing screen’s “Add Box” widget, choose “Custom Code.”

Be creative, and have fun!