I May Be Ridiculously Good Looking, But It’s My Choice If I Want To Be Seen Naked

Walking down the street, no matter how ridiculously hot you are, you can expect that you can keep on the clothing you choose to wear. Even if every passer by wants to see you naked. You may choose to wear long sleeves or a tank top. That is your choice.

If you go to a house of worship you’ll probably dress more respectfully, if you are in a private institution you may be asked to put on a jacket (you may leave if you don’t want to wear it), and when you go to the beach you might wear a bikini or speedos.

What you choose to cover up or reveal is a choice you make based on your comfort level, the context of where you are, and your beliefs. But you expect that what you choose to wear, may not be liked, but that choice will be respected.

If you are in a private home or institution, the owners have a right to ask you to leave if they don’t like how you are dressed. But they don’t have the right to force you to take off your clothing without your consent. That is assault.

If you would like to go into a public institution there are fears that you may be trying to smuggle contraband in, and you may be searched. In that situation your privacy is being compromised; however, being part of society you are relinquishing that right to an extent to ensure everyone else’s safety. It’s part of the Hobbesian social contract. That is with the assumption that you are giving up only what is necessary and you will be searched with the minimum necessary violation.

We feel so violated by TSA because our privacy when traveling is being violated wantonly, with unnecessary excess. The same goal could be reached with smarter, better trained, better paid individuals, and less abuse.


When I joined Facebook it was like a trendy club that all my friends went to. I dressed accordingly. I sought out my friends, and the people I wanted to become my friends. I dressed my sexiest. And acted accordingly.

Then Facebook announced that the footage from the security cameras in the joint would be auctioned off to the highest bidder.

Now I still visit Facebook, because everyone I care about is there. But it’s more like going to your third-cousin’s wedding, to which you have no idea why you were invited, and neither do they.

Sure there are many people there that you know and love dearly. But there is also that distant great aunt who rented you her apartment and upped the rent 40% year over year. Oh yeah, and that lying tattletale colleague is there too. Didn’t you notice? And everything you do or say will be used to SPAM YOU.

I went to the club I so enjoyed called Facebook, and It turned out I was inappropriately underdressed.

That was Facebook.


“What do I have to hide?” they said, when Prism was leaked. “If you have nothing to hide, you have nothing to fear.”

What if I don’t want to walk down the street naked? I don’t fear it, I AM ridiculously good looking. But I like wearing clothing.

I like sending an email to a specific person, and know that it is going to them, and not to prying eyes.

The NSA will claim that their surveillance to falls under the protection of social contract. But that is only true in theory. The fact that some talented high school dropout contractor can look up anyone tells me they did not build the tech with proper checks, regardless of who formally has to sign off.

There is clearly no consent when everything is placed under a gag order, and everything is collected. That isn’t protecting us, it’s straight out abuse.

    Add Classes to Menu Items in WordPress

    Let’s say you want to style each category differently across your site. Go rainbow.

    How do you target the menu items? If you try targeting them specifically, menu-item-641 might change. What if you’d like to sell your theme? You can’t know in advance that menu-item-641 is going to be “Musings”.

    So, this is how you do it:

    Just pop the following code into your functions.php and it will put unique classes on the menus based on the menu names.


      Keeping WordPress Safe, and Updatable

      After setting up a WordPress install, there are three magic lines I run from the newly installed WordPress working directory.

      The first two set the file and folder permissions to the recommended settings for WordPress.

      The second sets ownership of the files to apache, so that WordPress will be able to update itself.

      Thought I’d leave these here for anyone who might be digging.

      IMPORTANT: Do not run these from just any old directory, you can break your server. ONLY run these commands from the directory in which you’ve installed WordPress. Unless you know what you’re doing.

        Thoughts about “Man of Steel”

        <Spoilers>So I think that the problem stems from the fact that they are trying to make it the first movie of several. So they are thinking of this movie as a part of a bigger story. On top of that, Superman is not a very complex character. They didn’t do much to help that. So they fill in the gaping hole called Superman’s character with plot, but it’s a) LAME and b) incomplete. So we’re left with an Independence Day movie without Will Smith. And let’s face it, Will Smith’s character carried that movie.</Spoilers>

          Why Technology Killing Jobs is a Good Thing

          technological progress is eliminating the need for many types of jobs and leaving the typical worker worse off than before

          Brynjolfsson and McAfee

          This is scary for a lot of people. Forget having to compete with cheap labor, how do you compete with a machine?

          The problem is that fighting technological advances goes against our very essence as humans. Ever since man started making tools, what’s set us aside from the rest of the animal kingdom has been those tools.

          So we have a situation, now, where technological advances are taking jobs. But we want these advances. Aside from saving money and their potential for creating new industries, it’s our very essence, as humans, to innovate.

          Throughout history innovation has furthered society. When mankind consisted of hunter gatherers there wasn’t much time to create; every head was needed to keep the tribe fed. Once Man went to an agrarian society, it took less energy and fewer people to feed everyone. That’s when other jobs could be supported. This is one of the theses of Guns Germs and Steel.

          A blacksmith can’t smith if he is needed on the hunt. But if you need fewer members of your tribe to feed everyone, you can afford to have the blacksmith make more efficient tools. And progress moves us forward.

          But now have this situation where these technological advances are making all those things that we need accomplished to survive as a society easier to do, and it takes less manpower to do them. So what are those other people supposed to do?

          If we can take a page out of our history, we should reapply those people towards furthering society. The problem is that those savings are going directly to the profit margins of the companies that are using these “job-killing” technologies, and there isn’t incentive to reinvest those profits into creating jobs. We see this in the jobless demographics being stronger among people whose jobs were “blue collar”.

          In economics 101 you learn that if you want less of something, you tax it. And if you want more of something, you incentivize. I believe that the solution to technology taking jobs lies in this same vein. Companies that use “job-killing” technologies should be taxed on their use, but not to the extent that their profits are lost. However, if a company reinvests those profits (pre-tax) in specific things that further society — from Arts to R&D to internal education programs — they can deduct from those “tech taxes”.

          As someone in tech, I’m not sure how “good” this solution is for my sector. However, taking a long look at the evolution of mankind, I think it makes sense. Honestly thought, the cynic in my already knows that the people I propose to tax here would lobby the shit out of any such proposal.

          Thoughts? Comments? If you’d like to tell me I’m wrong, tell me why.

            Using AJAX in WordPress Development. The Quick-and-Dirty QuickStart Guide

            There are some great posts and a fantastic wiki page explaining how to use AJAX in WordPress. But I haven’t found a quick plug-and-play tutorial. So here goes…

            The problem: A simple form that will give the visitor an input and when they click “Next” it will send the content of the input to the server who will send all the $_POST fields back as JSON. Why you’d want this? Who knows. But it’s a simple problem to solve that you can adopt to do anything.

            Here’s the Gist

            This is the plug-and-play version my friends. (Extra points if you recognize what ui framework is here… DON’T JUDGE ME IT’S ONLY FOR WIREFRAMING.)

            How to use the code

            • Add include_once('inputtitle_submit_inc.php'); in functions.php. Make sure inputtitle_submit_inc.php in in your template folder.
            • page-ajax_input.php is a template page, make sure it’s in in your template folder. Just create a page in WordPress using “Input Submition Page”.
            • inputtitle_submit.js should be in a folder named ‘js’ in your template folder. Otherwise

            wp_enqueue_script( 'inputtitle_submit', get_template_directory_uri() . '/js/inputtitle_submit.js', array( 'jquery' ));

            will fail.

            How it works


            This is a simple template file. The important elements here are the input field and the next button. They are hooked in the JS file.


            The server-side magic.

            The first line enqueues the js file and pops some variables in for the AJAX onto the page. They are called in inputtitle_submit_scripts().

            The next two lines enable the AJAX to work. They create the ajax action “ajax-inputtitleSubmit”. If you only have “wp_ajax_ajax-inputtitleSubmit” it will only work for logged in users. If you only have “wp_ajax_nopriv_ajax-inputtitleSubmit” it will only work for logged out users. If you do this, make sure you have serious security in place.

            Those two lines tie the action to myajax_inputtitleSubmit_func(). This is what happens server side. Inside you’ll find some nonce magic for security. The function checks the nonce, then converts the $_POST variables to JSON and sends them back to the browser. Don’t forget the exit();


            The Javascript.

            First I encapsulate the JQuery so that it won’t conflict with anything. Then when the DOM is ready…

            When “Next” is clicked it sends a POST AJAX request to the server. The AJAX URL was defined in wp_localize_script in inputtitle_submit_inc.php as well as the nonce.

            We send the action, the nonce and the inputted “title” as variables to the server. Then in outputs the response (all $_POST variables as JSON) in the console.


            I built this for reference sake. If you can suggest any best practices or improvements please comment below.

              WordPress postmeta is useful, but be careful

              The add_post_meta, delete_post_meta, update_post_meta, and get_post_meta functions are really useful. It’s the perfect place to store information about a post. Many plugins take advantage of this storage for determining whether a specific post/page needs the feature they are providing or not.

              Example: I recently installed on a site I manage the WordPress HTTPS plugin; it allows you to force SSL on a specific page or post of your site.

              Once enabling the plugin on a page on the site I checked the “Custom Fields” section (where the postmeta fields are displayed on the post edit page) and lo and behold:

              Screen Shot 2013-02-03 at 5.27.49 PM

              A new postmeta field had been added.

              Not surprising, as I said, it’s a useful place to store information. But there is one aspect of this feature you should be aware of: it is cached on page load.

              When you run the WordPress loop many wonderful things happen to make your page load as efficiently as possible. One of those things is that WordPress caches all the postmeta values when it loads the post.

              This means two things:

              1. You DON’T have to worry about the amount of times you call the same value through get_post_meta(), since your server is not making a new query for each function call.

              2. You DO have to worry about how much information you are storing in the postmeta since all that information will be loaded into server memory each time the post or page is loaded. Normal storage will work fine, store things like settings, variables and content that is needed for displaying the post. But don’t think about the postmeta as a place for unlimited storage. Some things do need their own table.

              What do I mean?
              In short, don’t store post logs or large amounts of stats and data there.

              Example: I made a file uploading plugin for a client to be used internally in their company, that leverages plupload built into WordPress. I tied the backend into the company’s LDAP server so that any org member could sign into the uplaoder and not need an account created. Each file uploaded was tied to the user’s account so that they could each manage their own files. There’s a few more useful features thrown in like: file expirations, secured files, and dynamic file serving. I’ll be happy to post specs at some point. It’s pretty cool.

              One feature I added was logging file access. So that when each file is accessed there is a trace of who/what/where/when. I thought: “what better place to store that information then in the postmeta?” Right? NOPE. The site ran smoothly until images uploaded were used in an email blast. The blast only went out to a few thousand people, but each time any of those images were loaded i.e. each email opened, the ENTIRE access log was loaded into the memory.


              'update_post_meta_cache' => false

              Was the quick fix, and gave me time to offload the logs and refactor the code…

              For more information about the power of the Loop I highly recommend watching Andrew Nacin’s talk about WP_Query, talk slides.

                No Thanks to Parallels… VMWare Rocks!

                Being an Apple fanboy (at least for now) my main devices tend to be Apple. But as a Front-end Developer I still need to test my sites in Internet Explorer. I found that, truly, the best way is in Virtual Machines. Simulators just can’t capture the authentic buggy experience of true cross browser testing. To honestly test your site you need to use the actual browsers themselves.

                An added benefit of running Windows on my Mac is being able to enjoy reliving my and my wife’s childhood games. We’ve been going through Gog.com playing classics such as Gabriel Knight, Quest for Glory, and Betrayal at Krondor. I’m a big fan of Lifehacker so if they tell me that the Best Virtualization App for Mac OSX is Parallels I’ll tend to trust them. Unfortunately, this wasn’t the case this time. At least not with Parallels 8.

                I’m a big fan of Lifehacker. I recently got a Nexus 7 – my first Android device. Since I’m a Front-end Developer I felt it was irresponsible for me not to have any experience with Android… or that’s what I told myself anyways (I like toys). I relied heavily on the Lifehacker posts about Android to get caught up and found them very helpful. So I’ll keep listening to their podcast religiously despite this miss.

                But I digress. We were running Parallels 7 and it was going nicely, but from upgrade the mouse immediately started malfunctioning. The games just didn’t run as they had, Windows didn’t run as it had and the VMs acted much heavier. Not to mention that the company runs like a 90′s digital company. Who limits the time you can purchase a product anymore? It’s just an excuse to extort more $, you can pay extra to have evergreen links.

                Another down side to Parallels is that it is made for running Windows on a Mac and that’s it. Wait, isn’t that what we want? Well, not entirely. I started developing my sites locally. MAMP is great for strictly Front-end Development; however, if you start leveraging PHP, as it should be, if you’re not running the same LAMP stack on your local machine as you are on your server you’ll waste a lot of time. Once you code, you want to know it will work on your production server.

                At work I’ve been using VMWare for all my development work. I have 2 VMs with Windows XP alone, one for running IE6, and one for IE7. So I decided to test out the VMWare Fusion for my Weekend Projects. After 2 days, it blows Parallels out of the water. Not only does Windows run more smoothly for my extra curricular enjoyments, but, unlike Parallels I can run CentOS!