A Measured Response to Charlottesville

A Measured Response to Charlottesville
Charlottesville Unrest

Just take a breath…

The

events in Charlottesville and in the days since have brought forth righteous anger from those who oppose the so-called Alt-Right. We’ve all seen our Facebook feeds filled with comments denouncing hatred and bigotry, we’ve read the politician’s tweets in response to the violence… it’s obvious that the vast majority of our fellow citizens do not condone the violent actions that took place in Charlottesville, Virginia. I, like many others, have felt reassured somewhat by the level of shock and outrage – it’s as if we’re awash in a safe, comforting sea of like-minded ‘good guys’, driving away the ‘bad guys’ with nothing more than overwhelming indignation and willpower. Truly, this is a sea of individuals that I’m very glad I belong to. But…

“…it’s been with us since the first time 2 humans chose to act one way, and the third another.”…but, there’s a subtle danger swimming through this sea. It’s nothing new – it’s been with us since the first time 2 humans chose to act one way, and the third another. We Americans, if we’re to believe the story we tell ourselves, should be intimately familiar with this danger. It’s name is The Majority. Specifically, it’s the way that being part of a majority can encourage us to think, feel, and act. I argue today that allowing oneself to be mindlessly swept away by the current of The Majority, no matter how righteous of a cry it sends up, like the cry heard after Charlottesville, can strengthen and bolster those The Majority seeks to silence.

When part of a majority, we act differently. Emboldened by the sense of safety in numbers, we lash out at the minority in ways that overstep how we might normally react to the same individual or situation. We make decisions and take actions that might be just a little more extreme or reactionary than is otherwise warranted. These changes in behavior are especially magnified if the majority feels it operates from a position of moral or religious superiority.

If the majority is large enough, and responds to the minority in a swift and decisive enough manner, and if the minorities’ message is murky or ill-defined, it’s adherents lacking enough conviction and passion, then these changes in behavior caused by being a member of a majority don’t matter. The minority will be silenced, it’s members succumbing to feelings of inevitability and resignation, regardless of the methods the majority used to accomplish it’s goals. If those methods were questionable, if they sat squarely in a legal or moralistic ‘gray zone’ – so what? Who is left to complain? Certainly the members of the majority won’t object – they’ve won the day, why would they? And those that do will be severely marginalized, accused of being unpatriotic or sympathetic to the ‘bad guys’. McCarthyism will descend writ-large on those who dare to wonder if what the majority did was entirely on the up-and-up.

“…individuals will start to wonder, in the very back of their minds, if the way the majority seeks to subvert the minority is right.”Many times though this is where it ends. The news cycle moves on, and people quickly forget. But sometimes, if that minority is just strong enough, if it’s able to inflict just enough damage in just the right spots in the armor of the majorities’ cause, the conflict becomes an entirely new situation altogether. Here is where the actions the majority takes to accomplish their goals start to matter immensely. It’s at this point that more individuals will start to wonder, in the very back of their minds, if the way the majority seeks to subvert the minority is right. ‘Are we actually better than the bad guys?’, they’ll wonder. ‘Are we taking actions we can be truly proud of?’ they’ll ask themselves. ‘Decades from now, will history view our actions as just?’ they’ll ask each other, in cautious tones and lowered voices.

At this point in the conflict, If the majority has been operating in any sort of morally or legalistically ambiguous way, they have only one method left with which to accomplish a sure victory – they must shut down any further actions that could possibly be viewed as unjust, and they must do so mercilessly and immediately. To continue acting in any questionable manner – whether those actions include incitement of violence, censorship, or any other actual, or perceived, unfair treatment of the minority – is to risk loosing the moral high-ground and invite doubt, uncertainty, and suspicion to enter the minds of the majority and the general populace as a whole.

The reality is, if the conflict does actually enter this point, the most likely outcome is months, years, and possibly decades of conflict and unrest. Each side’s actions will become just a little more unjust, with each one of those actions becoming a justification for the other side to act in progressively more unjust ways. It becomes a cycle that we’re all familiar with. A cliche even. “We, as the majority, must be hyper-aware of every single action we take and decision we make, and how those actions and decisions could be perceived.”If we’re lucky, there will be practical and concrete sea-changes within a society that renders the conflict a moot point – something as large and unstoppable as the Industrial Revolution, Modernization, or the emergence of a happy, wealthy, and safe, secure and healthy Middle Class. If we’re unlucky, we get war – civil wars, revolutions, uprisings… call them what you will, but the reality will be death and suffering.

Or we may get something in between. We may get this lingering sense of unease, this malaise that underpins our culture, that we’re all vaguely aware of, but that persists because we’re just not sure what to do with it. Usually this malaise grinds on like a slow-growing cancer, until some action or event tips the cancer into accelerated growth. If that happens, then at some point decisions are made and actions are taken; moral, legalistic, and historical consequences be damned. The chips will fall where they fall.

So how do we prevent this? We, as the majority, must be hyper-aware of every single action we take and decision we make, and how those actions and decisions could be perceived. Even if the situation is one in which the majority is 100%, without a doubt the ‘good-guy’, and the minority truly is the evil ‘bad-guy’, the very moment the majority takes one action that oversteps moral or legalistic grounds, no matter how small or seemingly inconsequential, we lose the moral high-ground and invite doubt, suspicion, and uncertainty to enter the minds of our members, thus strengthening the position of the minority, and irrevocably changing the situation from clear-cut to clouded and blurred.

“Had I still lived there on August 12th, 2017, I have no doubt I would have been at that rally. I could have been the one killed.”In the context of Charlottesville, this means no retaliatory violence against White Supremacist groups. This means no inflammatory insults, taunts, or rhetoric lobbed their way whatsoever. This means no censorship of the ‘Alt-right’, no matter how easy it would be for the tech giants to do so (and some already have). We must in no way be seen as infringing on their rights whatsoever. And make no mistake, they do have rights. They have the right to free speech and to assemble peacefully and to live their lives in a manner they feel is appropriate, as long as that does not conflict with the rule of law in America.

Some of you will have just had a deep-seated, gut reaction of revulsion to the paragraph above. Of course these people have no rights, they’re horrible people, they should all be punished! Of course Google should just block all their websites! We should wage absolute warfare against them at every turn, and win the day no matter what it takes to do so. Of course the means justify the ends! I get it. You’re very angry. You’re way beyond very angry. You are sickened that things like Charlottesville exist in our world. I get it because I lived in Charlottesville, and I loved that town. I loved the vibrant, intellectual culture facilitated by The University of Virginia. I loved the gorgeous countryside, the surrounding wineries, the diversity. I have stood and walked through the exact spot that Heather D. Heyer was mowed down by a car many, many times before. I’ve eaten dinner with my family on the downtown mall mere feet from that very site of violence. Had I still lived their on August 12th, 2017, I have no doubt I would have been at that rally. I could have been the one killed. “To be a cog in the machinery of the majority is fine. To be a mindless cog is not.”

So I share your goal. But to accomplish that goal we cannot, we must not, let our initial reactions and our powerful emotions overrule our reason. To be a cog in the machinery of the majority is fine. To be a mindless cog is not. We must take measured, carefully considered actions, being fully aware that we have a responsibility to ourselves and those who share our goal to not give any kind of ammunition whatsoever to the bad guys. We must allow them their freedoms, the same freedoms we ourselves enjoy, else they immediately obtain a legitimate place from which they can argue for their own viewpoints and launch their own attacks.

As the saying goes, let’s give em’ a little rope…

Reflections on Charlottesville Unrest

Reflections On Charlottesville
Charlottesville Unrest

I used to Live Here, Work Here, Relax here…

I’ve

walked the exact spot this car plowed through quite a few times. I definitely second those that say this incident is in no way reflective of Charlottesville in general – it’s actually a great town, surrounded by beautiful countryside, with a diverse, inclusive, tolerant, and intellectual culture. This one incident does however perfectly highlight the larger divide in the Country as a whole – the divide between uber-conservative and uber-liberal, between rural and ‘cosmopolitan’, between those that want one type of America over another.

I think it’s important to remember that everyone’s opinions and beliefs are formed by nothing more than the sum of their experiences – by their upbringing, their community, their education, their family and friends, their co-workers, and the myriad other influences in their lives. It’s only natural – we all like to think we’re free from the sway of others, that we make our own decisions based on our own free will, and we’re certainly capable of this, but I would argue that very often, we simply don’t take the required time and effort to truly ask ourselves, ‘why do I believe this?’“I think it’s important to remember that everyone’s opinions and beliefs are formed by nothing more than the sum of their experiences” And that’s just step one – step two requires some emotional courage to face the answer to that question – the true answer (and deep down, you know if you’re being honest with yourself) – regardless of how uncomfortable it makes us feel. Regardless of how it might throw some fundamental assumptions about our lives and beliefs into question. Regardless of how it might radically challenge our very identities.

Of course, the above paragraph can be viewed as pointless navel-gazing… the product of having enough wealth and privilege to be afforded the time and education required for such reflection. The midwestern farmer or factory worker could care less about this ‘mushy-feely’ crap – they simply want something done about the fact that it’s harder and harder to make a living. But I think approaching every situation involving people, whether you’re a blue-collar worker or a Wall-Street millionaire – with the knowledge that we all truly want the same things – financial and emotional security, a sense of belonging, the knowledge that one’s way of life is solid and stable, the hope of a brighter future and a better day to come – provides us with a common foundation from which to base all our conversations and decisions on.

Don’t mistake me – none of this excuses any real-world actions taken by individuals whatsoever. We all must be held fully responsible for our actions. It’s one thing to hold certain beliefs – it’s another thing entirely to act on them. The man who drove his car into the Charlottesville crowd should be punished to the fullest extent of the law, along with any other violent protestors. I’m simply saying this way of thinking about people is a useful framework from which to try and understand one another and to build empathy for our fellow human beings. “We all simply want to feel safe, secure, loved, and included, and become frightened, combative, and angry when those things are threatened” The beauty of this ‘framework’ is that it applies to every person in the world, from that Wall-Street millionaire to a 9-year-old Afghani child to a taxi driver in Europe. We all simply want to feel safe, secure, loved, and included, and become frightened, combative, and angry when those things are threatened – or simply if we feel they’re being threatened. That’s it.

Ok, so what then? How do we take actual concrete steps to resolve the glaringly-obvious real-world problems that plague America today? I think first we cultivate the ‘framework’ I described above in ourselves, then we acknowledge that life is messy and that the one and only constant in the world is change. At any given point in time, there’s some amount of change occurring. Right now I would argue the amount of change we’re experiencing is significant. Economic change mostly, a widening of the gap between the haves and have-nots, or at least the perception of a widening gap, which, at the end of the day, is almost equivalent to actual change taking place. After all, we’re emotional and irrational beings at heart – to a large extent we act based on how we feel, not based on facts, unless we take the time to reflect. Acknowledging change, understanding and accepting that much of it is out of our control, and attempting to work with it, instead of against it, no matter how uncomfortable, is, in my view, a healthy and productive way to handle things.

I’m not suggesting we simply tell people to ‘get with the program’, take out huge loans to go to college, get a tech-related career, and move to a big city, although, to actively fight against what is very much a steamroll-type trend in our society akin to the industrial revolution might not be the most stress-free path to choose in life – rather I think a more balanced approach is appropriate. I’m suggesting those who know deep down their way of life is eventually coming to an end (the coal miner, the rural farmer, the oil-rig worker), take small steps to prepare themselves for the ‘new world’. This could mean taking a few Community College courses, reading a book on a subject they know nothing about, or taking 5 minutes to learn something – anything – about the culture of an immigrant. These small actions could result in positive, tangible outcomes for that individual’s future, as well as having a significant psychological benefit – actually doing something about the thing you’re worried about tends to make one feel better. On the other side of the coin, these individuals can, at the same time, advocate for their way of life – I know it’s a cliche, but they can get involved in the political process with local, state, and national elections. Simply attending a town-hall meeting, sitting in the back and not saying a word, is a huge positive step. “accept that some of this change is coming no matter what, and spend some of your resources on preparing for it. Pick and choose your battles… hedge your bets” Donating 5 bucks a month to a cause you believe in is a huge positive step. Trying to become more educated about issues is a huge positive step (although this only helps if you’ve learned a little about how to discern objective facts from what is simply someone’s opinion, but that’s a topic for another post). The point is, those whose way of life is changing need to accept this change to a certain extent – I’m not saying lay down and give up without a fight – but accept that some of this change is coming no matter what, and spend some of your resources on preparing for it. Pick and choose your battles… hedge your bets.

Conversely, those who enjoy economic and career security, and who feel they will for quite some time to come, have a bit of a responsibility to make the road to that lifestyle easier to traverse. This means advocating for policies that would accomplish things like lowering college tuitions, better healthcare for all, and removing other socio-economic barriers (gender, race, ethnicity, sexual orientation, etc.), in all aspects of American life. Again, small steps can work wonders here, such as attending that town-hall meeting, learning the objective facts about the issues we face, and donating time and other resources to the cause, whatever that may be.

I know this is all pie-in-the-sky talk to some. Probably to most. The reality is that the vast majority of people whose way of life is threatened right now will bitterly cling tooth-and-nail to a bygone era, one that will certainly never return. They will actively choose to bury their heads in the comforting sands of ignorance. Most of those who enjoy privilege in life will continue to look down their snouts at the other half with barely-concealed (sometimes outright blatant) contempt and derision, maybe even actively participating in systems and constructs that further ensure their societal positions, and that make the path to success harder for those without. These are facts of human nature, things that have been with us since day one and that show no real sign of being eliminated anytime soon. And again, these behaviors and actions are a result of those individual’s experiences throughout life. But the shining ray of hope we can all cling to, regardless of which side you’re on, is that there is that small majority, on both sides, who continue to fight to change things for the better and create a new world for all. This isn’t just inspirational rhetoric I’m spouting, but rather something based on concrete evidence; history is full of examples of the minority (sometimes even the individual) affecting great change in the world.

I know it’s easy to think your small efforts don’t matter, that the deck is so stacked against you and your cause that you shouldn’t bother. The thing is, simply placing a sustained, continued pressure against that stacked deck, chipping away at it card by card, is all that’s required. Your efforts don’t have to be perfect. It doesn’t have to be a ‘winner-take-all’ battle… life is messy and nothing is ever perfect or black-and-white. And that’s ok. As long as some of us continue to try, with honest, sincere efforts, then in the long run, things will be better. History has shown us that the overall trajectory of the human experience only improves, with horrible and tragic setbacks to be sure, but nonetheless, a happy ending is in store. It’s up to us to always try and make that happy ending all the more happy, for as many people as possible.

WPFilmList

WordPress Film List

WordPress Film List

WPFilmList

This

This is a WordPress plugin I developed from scratch for cataloging and recording my personal library of Movies & Television shows. The user can add a Movie or TV Show by searching by title, and then selecting each result the user wants to add. This plugin grabs most of it’s data from the The Movie Database via their API. Check it out here, and head over to the WordPress Plugin Repository to Download Your Free Copy of WordPress Film List!

Required Skills:

CSS
PHP
JavaScript
jQuery
MySQL
HTML
Logo Creation/Design
APIs

WordPress Game List

WordPress Game List

WordPress Game List

WordPress Game List

This

This is a WordPress plugin I developed from scratch for cataloging and recording my personal library of Video Games. The user can add a game by searching by title, and then selecting each result the user wants to add. This plugin grabs most of it’s data from the IGDB database via their API. Check it out here, and head over to the WordPress Plugin Repository to Download Your Free Copy of WordPress Game List!

Required Skills:

CSS
PHP
JavaScript
jQuery
MySQL
HTML
Logo Creation/Design
APIs

Weird WPDB->Prepare Error

Changing WooCommerce Text
Weird WPDB->Prepare Error

The WPDB->Prepare error was a red herring; I wasn’t using WPDB->Prepare anywhere

Just

the other day I was attempting to add some information to my site’s WordPress database from a JSON file, when I received a ton of ‘$wpdb->prepare’ errors. Now normally when I see these kinds of errors it means I haven’t supplied the required variable placeholders, or I haven’t done so correctly. For example, here’s an example of an incorrect usage of $wpdb->prepare:

 $wpdb->prepare("SELECT * FROM $table  LIMIT 1")

The ‘1’ in that line of code should be replaced with the ‘%d’ placeholder, and there should be a second argument that defines the placeholder, like so:

 $wpdb->prepare("SELECT * FROM $table  LIMIT %d", 1)

Upon execution, the ‘%d’ gets replaced with a ‘1’. To make this work with a string instead of an integer, use ‘%s’ instead. (NOTE: the table name in the prepare statement can be a variable and does not need to use a placeholder).

So naturally, I went looking for any instances of $wpdb->prepare… the only problem was, I hadn’t used $wpdb->prepare anywhere in my code whatsoever.

After more time than I’d like to admit, I finally figured it out – in my $wpdb->insert statement, I had specified a string variable as an integer variable, which ended up throwing $wpdb->prepare errors, oddly enough. I assumed that by using a ‘%d’ placeholder in my $wpdb->insert statement, the data formatting would be taken care of. Guess that’s what I get for assuming. Here’s the offending code:

$file = fopen(plugin_dir_path( __FILE__ ).'assets/json/company_names_formatted_backup.json',"r");
    //Output a line of the file until the end is reached
    $line = fgets($file);
    while(!feof($file)){
        $string = str_replace('\n', '', $line);
        $string = rtrim($string, ',');
        $string = "[" . trim($string) . "]";
        $json = json_decode($string, true);
        $matchingcompid = $json[0]['matchingcompid'];
        $companyname = $json[0]['companyname'];
        $table_name = $wpdb->prefix.'wpgamelist_jre_list_company_names';
        $wpdb->insert( 
                $table_name, 
                array(
                      'matchingcompid' => $matchingcompid, 
                      'companyname' => $companyname,
                ),
                array(
                        '%d',
                        '%s'
                )   
        );
        $line = fgets($file);
    }
    fclose($file);

Specifically, the $matchingcompid variable in line 9 is a string variable, and needed to be an integer. So, I simply cast $matchingcompid to an integer, like so:

$matchingcompid = (int)$json[0]['matchingcompid'];

and everything worked just as expected. Problem solved.

Updated Woocommerce shipping text

Changing WooCommerce Text

Changing WooCommerce Text
Updated Woocommerce shipping text

Updated WooCommerce Checkout Text

Recently

I had a client e-mail me about an issue with her WooCommerce checkout page. She was contacted by a customer whose billing address was in Canada, with a shipping address here in the United States. The customer found the second part of the checkout page where she could input her actual shipping address just fine, but right above this section was a checkbox (checked by default), which read, “Shipping Address Same As Billing Address“.

When the customer unchecked the box, the “ship to a different address” form disappeared. It re-appeared when checked again. In my mind, and apparently the customer and client’s minds as well, that functionality was completely backwards.

I decided the functionality (displaying/hiding the form upon checking the checkbox) was good as it was, but the text needed to be changed to something more intuitive, like, “Check Box To Ship To A Different Address“.

I decided the best way to go about this was to place a PHP function I found elsewhere online in my client’s Child Theme, that would allow us to easily change any default WooCommerce text we want now and in the future. Here’s the code:

add_filter('gettext', 'custom_strings_translation', 20, 3);

function custom_strings_translation( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'Shipping address same as billing address' :
            $translated_text = __( 'Check Box to Ship to a Different Address', '__x__' );
        break;
    }
    return $translated_text;
}

Simply place the text you want changed as the case in the switch function, and place the text you’d rather have in the next line, and then you’re done!

Legends of Localization Book 1: Legend of Zelda

Legends of Localization Book 1: The Legend of Zelda

Legends of Localization Book 1: The Legend of Zelda
Rarely

do I spend money on products like this (I just can’t seem to shake that frugal upbringing), but as a long-time Zelda fan, I knew as soon as I stumbled across Legends of Localization Book 1: The Legend of Zelda that my bank account was about to be $30 lighter, whether I liked it or not.

Legends of Localization Book 1: The Legend of Zelda offers a rare glimpse into the differences between not only the Japanese and English translations of The Legend of Zelda, but the differences between subsequent versions of the game, as well as interesting tidbits of Zelda trivia and lore.

Legends of Localization Book 1: Legend of Zelda

Legends of Localization Book 1: The Legend of Zelda

Adapted from his website into book form, author and professional translator Clyde Mandelin has compiled some of the most obscure, intriguing, and downright awesome Legend of Zelda insights into a very attractive hardcover package, complete with a glossed ‘obi’ style dust cover and bonus postcard.

This full-color, 208-page book is the perfect companion piece for any Zelda fan. My recommendation is to play through The Legend of Zelda with Legends of Localization Book 1: The Legend of Zelda at your side.

Read an excerpt from Clyde’s site below:

“After many years, I finally wrote a book about The Legend of Zelda’s localization! I rewrote almost everything in this online comparison from scratch, added a lot of new content, fixed many inaccuracies, did much more research, and included lots of insight about the localization process and the localization industry.

Although the book focuses on the original Zelda game, it also covers how many of these initial localization choices affected later games in the series, everything from Adventure of Link to A Link Between Worlds. I also made sure to make it accessible to readers who aren’t particularly familiar with the first game, so whether you’re a hardcore Zelda fan, a casual gamer, or even just an aspiring translator/localizer yourself, this book is for you!”

Legends of Localization The Legend of Zelda Image

Source: http://www.fangamer.com/products/legends-of-localization-zelda-book

Legends of Localization The Legend of Zelda

Source: http://www.fangamer.com/products/legends-of-localization-zelda-book