About Jeremy Coulson

"Though your ship be sturdy, no mercy has the sea." - Genesis

The Spectre of Wasted Time

The most difficult part of fatherhood is not finances or employment or providing.  It is the quiet space after the children are in bed when I realize that my time with them for the day has ended and that tomorrow we must awaken and be separated for some time. It is then that I question the wisdom of my decisions and attitudes and am haunted by the spectre of wasted time and failure to lead and love them as they need and deserve. Time is the most precious thing we can share with children.  I pray that ours is well spent and that God blesses me with wisdom and discernment.

Mars and Our Island Earth

“Mars mystery solved.” These words have been ringing in my head all day.  What is NASA planning to tell us on Monday?  It’s not every day that we receive a planetary science announcement in a planned news conference.  I know I’m a dreamer and it’s probably something far less exciting, but I can’t help hoping for life.  Even if it’s evidence of life that ceased millions of years ago.

Mars has for a long time been the source of awe, speculation, and artistic inspiration on Earth.  And ever since the first image of the Martian surface was sent to Earth from Viking I in 1976 (two years before I was born), we’ve had a lot more to think about.  Those rocks and shadows and dust look like features we might see on Earth, but they are actually 140 million miles away on a different planet.  That seems so far, but cosmically it’s really within arm’s length.  Mars, our planetary neighbor, so similar in size to Earth, with such familiar geological features.  Many are our differences, but what could be our similarities?

Viking I Mars photograph

The observable universe is 91 billion lightyears in diameter.  Our Milky Way is just one of billions of galaxies hosting billions of stars and untold numbers of planets in that vast cosmic expanse.  In the 1960’s, astronomer and astrophysicist Frank Drake created the Drake Equation, which basically defines a framework to predict the probability of extra-terrestrial civilizations in our galaxy.  Although it has various interpretations and plenty of criticism, the equation nonetheless shows that statistically, in a galaxy with so many stars, we are unlikely to be the only intelligent life.

Intelligent life is fascinating, but I prefer to broaden the perspective to something no less intriguing: what about any life?  What about evidence of any reproductive, self-sustaining, entropy-balancing creatures, all the way down to the tiniest microbes, past or present?  Expanding the search that far must certainly enhance the probability.  In a universe so vast, it can’t have happened only on Earth.

But why does it matter?

I hear objections to caring about the universe outside of our planet.  We have so many problems right here on Earth.  We have war, poverty, disease, starvation, injustice, environmental degradation, and hatred.  True.  We have a massive burden here on Earth; however, are we not to blame for much of this burden?  Do we not choose to fight one another, to hoard our wealth where it exists, to mistrust anyone foreign of birth or status, to exploit our resources, and to seek retribution when others treat us as we have treated them?  As a species, we have extraordinarily limited vision.  After millenia of evolution, we still see each other as different tribes, different races, different species perhaps.  We fail to see that we are one brotherhood of humanity.

The differences we see are arbitrary.  Some humans with pink skin will say that humans with black skin are inferior; however, humans with dark skin probably just descend from humans who historically found some evolutionary advantage in having darker skin.  According to the CDC, dark-colored humans have a much lower rate of skin cancer than light-colored humans.  Many cultures along the equator of Earth tend to be populated by darker-skinned humans than those in cooler zones.  Perhaps the skin color differences arose because the advantage conferred by color in one place was different than in another.

For the entire recorded history of the human race, we have behaved like spoiled children dividing up the toy box, failing to see beyond the walls of our playroom. Nation has fought nation for resources, humans have murdered for wealth, and genuine grace for the fellow human has become a sadly rare gem. We have for too long identified too deeply as ethnicities or nationalities or religions and not deeply enough as humans. To be made in God’s image does not mean to be of any color or shape or size; rather, it means we are rational, moral, and most importantly, communal creatures. It is unnatural for us to divide ourselves so deeply along arbitrary borders such as race or nationality.

We see only the planet we live on.  We do not see beyond the atmosphere to other worlds.  The universe is vast, but our perspective is narrow.  If we are to overcome our desire to divide, we must unlearn, broaden, and re-inform that perspective.  I assert that the discovery of any extra-terrestrial life — even microscopic life or life long extinct — would be the most important scientific discovery of our lifetime — perhaps of all scientific history.  Suddenly, we will no longer look at one another as American, Russian, Christian, Muslim, black, white, or anything else divisive.  We will realize we are truly a uniquely human creation on our uniquely Earth-ish planet in an immeasurable cosmic expanse awash with other unique life.  Earth will feel smaller, more precious; our divisions will feel weaker, less significant; the universe will feel much larger, yet also much closer.

To learn that we are not alone in the universe will draw us closer together and make us more appreciative of the beautiful blessing of Earth in the universe.  Our children will grow up in a world not divided by race or religion or class, but one knit together by human brotherhood.  I can imagine no better future for my children.  That is why the very idea of a life announcement is so riveting and keeps me awake late writing these words.  By understanding our universe, we will come to better understand our place in it and our importance to one another.

Join me Monday to hear what NASA announces.  If it is a life announcement as I dream, join me in embracing a deeper appreciation of what it is to be a human in a vast, exhilarating universe.

Why Studying for a Microsoft Certification Induces Madness

Let’s see.  The question:

question

Well, I’m really not certain.  Anonymous functions don’t have a name: that’s why they’re called anonymous.  Since an anonymous function doesn’t have a name, I can’t assign it to an element declaratively.  I think that makes sense; unfortunately, it means there are two correct answers and I’m only supposed to choose one.  So, let me give B a shot.  Clearly, anonymous means “of unknown name“.

Wrong.

Wait.  What?

answer

If an anonymous function doesn’t have a name, then wouldn’t having a name not be an attribute of anonymous functions?  Or have I totally misunderstood the question?

Let’s not discuss the code example errors, missing answers to review questions, and IE-specific lessons that drive me crazy.

2015 Reading List

Things I’ve read so far in 2015 (not including comics):

  1. Rendezvous with Rama by Arthur C. Clarke
  2. The Art of War by Sun Tzu
  3. Michael Vey: The Hunt for Jade Dragon by Richard Paul Evans
  4. Queen of the Black Coast by Robert E. Howard
  5. To Kill a Mockingbird by Harper Lee
  6. Go Set a Watchman by Harper Lee
  7. Thinking Beyond Coding by Erik Peterson
  8. “Sidewise in Time” by Murray Leinster

No NullDisplayText Property for TemplateField? No Sweat!

Microsoft gave us the BoundField.NullDisplayText property to display some text instead of a blank space in case a field is bound with data that is null. That’s handy, but we all know that a GridView left to its own devices and built with default fields will make crappy, invalid, unpredictable HTML. That’s why I always build a GridView with TemplateFields and connect data on my own without using built-in data sources. Since there is no similar property for a TemplateField (I guess I can understand why since a TemplateField can be anything and not just bound with data), we must handle null display text on our own.

And I do it by setting the text of the Literal in my TemplateField like this:

Text='<%# Convert.ToString(Eval("ColumnName")).Length < 1 ? "null" : Convert.ToString(Eval("ColumnName")) %>'

Classes or IDs

It is often asked (I think often) in CSS discussions, “What really is the difference between class and ID?”

The traditional answer I learned in school: A class is for selecting a bunch of elements on a page; an ID is for selecting one item and possibly writing a script for it. You can have many classes, but only on instance of an ID on a page.

Okay, that is clearly not the full answer, so here’s what I came up with in the bathroom this morning.

An ID specifies one single element. An <a> with an ID of Jeremy gives that anchor a name of “Jeremy” and then any time I refer to #Jeremy, I know I’m only referring to <a id="Jeremy">.

A class specifies a bunch of elements that have something in common and represent a subset of similar elements. For example, perhaps all anchors have an underline and are the same weight as the surrounding text simply because they are anchors and that’s what they do by nature. If I define <a class="Jeremy">, I’ve created an entire new subset of anchors that can have any new styles I wish to apply while still retaining any characteristic of being an anchor that I don’t explicitly override. The CSS code a.Jeremy {font-weight: bold;} would cause my subset of anchors to show up as bold while still retaining any other style inherited from simply being an anchor. So, really, a class creates a new type of element. We started with a and we now also have a.Jeremy.

The difference between class and ID is definitely more than “one is for single elements and the other is for many”.

String Comparisons in Java

If I pass the text “Ninja” as strWarriorType to a method, the following evaluate as true:

strWarriorType.equalsIgnoreCase("NINJA")
strWarriorType.toUpperCase().compareTo("NINJA")

But this evaluates as false:

strWarriorType.toUpperCase() == "NINJA"

Why?

Update: Illumination from a Friend

I did similar tests in PHP, C#, and Python and discovered that they all handled my == operator exactly as I expected.  New stuff has been learned!

Jeremy Is Selling Stuff

I’m inspired to sell a few things.  Check it out!  Interested?  Let me know and I’ll tell you a price.

CD

Alter Bridge – Fortress
Black Flag – Damaged (Mr. Conner)
Alter Bridge – Blackbird
Megadeth – Th1rt3en (Mr. Ferrell)
Megadeth – Endgame (Mr. Ferrell)
Megadeth – Youthanasia (Mr. Ferrell)
Napalm Death – Utilitarian (Mr. Conner)
Trap Them – Darker Handcraft (Mr. Gump)
Trap Them – Seizures in Barren Paradise (Mr. Gump)
Trap Them – Seance Prime (Mr. Gump)
Trap Them – Sleepwell Deconstructor (Mr. Gump)

LP

Dropdead – Discography
Direct Control – Bucktown Hardcore
Boston Strangler – Primitive

7″

Deaf Mutations – Crash the Clubs
Urban Unrest – On a String
Growing Stronger – Toxic Fumes
Direct Control – Nuclear Tomorrow
Peace – s/t
Bad Advice – Do Not Resuscitate 
Bastard – Controled [sic] in the Frame

Cassette

Naysayer – demo

Music For Sale

I overspent, so I must part with a few things.  I never listen to these.  Let me know if you’re interested and we’ll work out a sweet deal.  Email jeremycoulson@gmail.com.  Thanks for looking!

Root – Hell Symphony
Steve Vai – Passion and Warfare
Converge – Axe to Fall
Converge – No Heroes
Converge – You Fail Me
Deftones – Around the Fur
Slayer – God Hates Us All
Mayhem – Chimera
Will Haven – WHVN
Twisted Sister – Stay Hungry
Vengeance Rising – Once Dead
Vengeance Rising – Destruction Comes
Neil Young – Harvest
Leaders – Now We Are Free

New Music Report

Animas – Blood on the Iron
Overcome – No Reserves. No Retreats. No Regrets.
Valkyrie/Earthling – split
Coke Bust/Vaccine – split
Sir Adrian Boult – Elgar/Holst: Enigma and Planets