Sunday, March 18, 2012

The Precipice of Singular Decision

We human beings really don’t understand how much our individual choices impact this world.

For example: this week, one of our top developers changed a method name in our code base. He updated all references, and only committed his code once he verified that everything worked. This developer is very talented and exceptional at his job. He was far from careless. 

However, the code base is used widely enough that his change disabled one of our product’s key features. Worse, there was nothing to hint anything was wrong—until one of us tried to access the feature.

Once we noticed the problem it took time for another developer to track down the source. It cost us. It would have cost us a lot more had we distributed the product. Hundreds of customers would have been affected and unhappy.

Amazing what only a few keystrokes can do.

Yet history is replete with moments like these: singular decisions that have far-reaching consequences.

Take the current status of the Middle East, for instance. The Arab Spring uprisings began with one man committing suicide after his vegetable cart was wrongly confiscated by the Tunisian police.

Or our own involvement in the region: only one individual is allegedly responsible for killing 16 Afghan civilians, including men, women, and children. And now our entire mission in Afghanistan is in serious jeopardy.

Not to mention the shot that began World War I, which directly led to World War II and the birth of the modern, industrialized society. One man, one pistol, one shot.

The Bible also contains several examples of small decisions with far-reaching consequences. David’s affair with Bathsheba (2 Sa 11). Solomon’s decision to marry foreign wives (1 Ki 3:1). Esau’s sale of his birthright for a bowl of stew (Ge 25:29-34). Had the devil succeeded in tempting Jesus in the desert (Mt 4:1-11; Mk 1:12,13; Lk 4:1-13), it would have been catastrophic for humanity—a catastrophe on par with Adam and Eve’s original sin (Ge 3:1-7).

Granted, these are all extreme examples of maliciousness, not the mundane blasé of everyday living. Intent doesn’t discount them—they are still small motions that changed the world.

Yet despite of our foolish decisions, God still knows how to turn them around for good. Judah’s decision to sell his brother Joseph into slavery (Ge 37:25-28) helped save thousands of lives and laid down the beginning of Judaism. David’s affair with Bathsheba produced the bloodline from which Jesus descended (Mt 1:6). Though our sin runs amok, God’s grace is still there, mitigating the damage. He remains patient with us, “because he does not want any to perish, but all to come to repentance” (2 Pe 3:9).

I can never be sure that any of my own decisions will not have far-reaching catastrophic consequences. Yet neither can I live my life in constant fear that I might hurt someone inadvertently. Every choice I make, mundane or no, affects others.

It’s almost as if God has designed our world to work this way in its fallen state. I have to trust that even in my unknown sins, God is bringing good for all. The more I understand that, the more thankful I am when he shows me grace The more patient I am when He chooses not to protect me so I can learn from my mistakes—just as any loving father would do.

It gets even better.

God clearly does not abandon us to our messes. Yet neither will he force us to live with them forever. One day, our exile will be done, and He will wipe all tears from our eyes (Re 21:4). We will truly be able to live without the chance that we might hurt others around us.

Our world will be transformed into what it was originally meant to be: humans fellowshipping with each other and with God and loving one another forever and ever.

Wednesday, March 14, 2012

LinqPad

I am really enjoying LinqPad.

It's not often that I find myself using an IDE outside of Visual Studio. If I do, it's almost always for necessity. VS is primarily geared for full-fledged application development with Microsoft-developed coding languages. There's very little (if any) support for other, open-source languages  like Python or Javascript.

VS is also cumbersome when all you need is just a quick, simple script to manipulate XML. VS requires a lot of boilerplate for even the simplest code to run.

After a while, using VS in my day job starts to feel like a repeated exercise in futile over-engineering.

Really unfortunate, since VS has many features that I've found indispensable when coding any language (auto-completion especially come to mind).

Linqpad turns out to be a solution to that. It's a best-of-both worlds compromise. And it's quickly becoming my preferred tool of choice for quick, simple scripting in C# (of which my job requires a lot).

It supports C#, the .NET framework, and Lamda expressions, which are extremely useful when using the System.XML.Linq assembly.

External assemblies are easy to reference (even easier than VS in some ways) and the full version provides auto-complete. You don't even need to create any solutions--perfect when all you need is a few lines of code.

If you're looking for some run-time debugging or testing support, Linqpad isn't really designed for that (and sometimes could really be useful--especially on those delegated MatchEvaluators!).


However, regexes are rarely the best answer for XML. It's usually faster and easier to use LinqPad with an XML DOM rather than contrive a regex for specific XML elements.

Microsoft gets credit for helping serious developers create serious applications. But LinqPad gets extra credit for giving us novice developers a leg up in doing our (hopefully temporary) day jobs well.

Thanks, LinqPad.

Friday, March 02, 2012

The Husband Hammer

It seems single men my age get hammered hard these days. Not that many of us don't deserve it.

However, I'd like to address a particular blog post I came across recently: Warning: Rant Enclosed

As a once-married, now single male, I find posts like these highly discouraging. I live in a world that expects me to be a knight, yet also bombards me with portrayals of men as clowns, idiots, hypocrites, deadbeats, abusers, perverts, and murderers. The messages of the world are negative enough, and many of us have enough reminders of how "unmanly" we are.

The Church doesn't need to add to that weight as well.

Ruth, how can you say that my reluctance to move forward in a relationship puts me "in the loser column with a capital L"?

I'm like any other human being--I still long for the togetherness and fulfillment that a marriage relationship brings. My marriage ended badly; can you blame me if I think twice before swimming again? How many other men struggle just like your sister?

Just because I may reserve myself because of recent history does not mean that I need to "grow a pair."

I understand how unworthy for a mate that I am. Further, I also understand that I could never be worthy on my own. I am a sinner (Rom. 3:23), and I could never make myself a righteous man of God (Rom. 3:10). 

There is only one who can do that. It is Christ, and Christ alone:

“And you, who were dead in your trespasses and the uncircumcision of your flesh, God made alive together with him, having forgiven us all our trespasses ...” (Col. 2:13, ESV)

I'm not interested in making myself worthy of a mate. I'm interested in the change that Christ can bring about in me. If that makes me worthy of a mate in the long run, wonderful.

Until then, please keep your peeves about men who lack initiative to yourself.

Blessings,
A man trying to heal.