Ex Nihilo: Why it’s okay to throw away code – CodeStock 2018

I gave this talk at CodeStock 2018. Some of the slides are (semi) original artwork, inspired by ReverentGeek and Schlock Mercenary.

Watch the video of the talk here, or view the slides here.

If you have suggestions on how I could improve the talk, please contact me! My Twitter handle is @spamagnet.

… and yes, I need to stop saying, “But here’s the thing.”

Abtract

Managers often have a bad reaction to hearing developers say that they need to throw away or rewrite code. Source code is expensive, taking hours/weeks/months/years of painstaking work to develop and maintain. “Why couldn’t we have done it right the first time?” “Is there any way to salvage the code and reuse it somewhere else?”

This comes from a faulty view of code as the end product; in reality, the end product is the service that the code provides.

To illustrate this, take an extended construction metaphor. When constructing a house or commercial building, the blueprint is a fairly minor part of the cost. You don’t want to scrimp or cut corners on the blueprint because you run the risk of far more expensive problems during the construction phase.

In software, however, the construction (build) phase is nearly free. Not only that, but a newly built “house” can be duplicated and deployed as many times as you like.

Semi-original artwork for CodeStock talk

In a couple of weeks, I’m giving a talk at CodeStock 2018 called Ex Nihilo: Why it’s okay to throw away code. It’s based on an extended analogy of software as a city — but a city built by nanobots out of nothing in a digital post-scarcity environment.

I wanted some fun, engaging slides — and what better nanobot design than Howard Tayler’s from Schlock Mercenary? (If you haven’t heard of it, and you’re a science fiction fan, set aside a block of 8-10 hours to read it. You have been warned.)

I contacted them, and Sandra Tayler graciously gave me permission to use the nanobot designs. Many thanks to Howard and Sandra!

Without further ado, here are my first imperfect pieces of art featuring the nanobots:

If you want to know the context, you’ll have to come to my talk at CodeStock. (I might post a video afterwards.)

 

Once the world seemed new

Once the world seemed new
full of promise
beckoning
smiling.

I was knighted, sent
to derring-do
fearlessly
without fail.

But I found that I failed
and hurt
and feared
and did not heal.

The fault must be in me
I thought
I felt
I feared.

I redoubled the beknighted deeds
to prove them wrong
or prove them right
I could not tell.

But hurt without heal cannot last
I fell
crushed
seemingly for good.

Long I wandered shadowy lands
no faith
no hope
but not bereft of love.

For love descended
and stayed
and hurt
and healed.

Shattered, yet reknit
slowly
ascending
to light.

I brought with me a part
of that shadow
undesired
yet inseparable.

Now the world seems old
full of promise
beckoning
yet sadder and wiser than before.

Learning from the Holocaust

On January 27 of each year, we remember the Holocaust. We vow to never forget the 6 million Jews, plus hundreds of thousands of Romani, disabled, and homosexual people who were slaughtered by the Nazis. For the most part, being anti-Nazi is not controversial. The question is, have we learned the right lessons?

When political leaders (generally of the opposing party) propose a policy that we feel strongly about, many of us jump straight to comparing them to Hitler. On the Internet, this is so common that in 1990, Mike Godwin coined the adage that asserts that “As an online discussion grows longer, the probability of a comparison involving Hitler approaches 1.” (This is commonly referred to as Godwin’s Law.)

On the one hand, this is only natural — we have a deep-seated horror of those events. As members of what we think of as a civilized culture, we rightly think of Hitler and the Third Reich with horror, vowing that “it could never happen here.” It is unthinkable to us that millions of people remained silent and did nothing to stop it. That many people just “did their jobs,” and were quietly complicit. That many bought into the propaganda hook, line, and sinker.

But Godwin’s Law also makes it difficult to have an honest discussion about the fears we have about policies that strike us as being on that slippery slope to such horrors. If you mention Hitler or Mussolini you’re automatically The Boy Who Cried Wolf. We all know that fable — but how many of us know the flip side: Cassandra? In Greek mythology, she was given the gift of true prophecy; but was also given a curse that no one would believe her.

The problem is that Hitler didn’t start by slaughtering millions. He started by exploiting resentment at Germany’s treatment after WWI, as well as an anti-Semitism that had been smoldering since the days of Luther. Having a clear enemy to demonize, fear, and blame can be a powerful weapon to unify a people. When people are angry and afraid, they are susceptible to manipulation through propaganda.

As a nation, we are at a crossroads. Despite our prosperity, simmering anger and fear seem to be rampant. Our politics are more polarized than ever, and we have lost trust in many of our institutions. By and large, our mainstream media is more interested in clickbait headlines and controversy than nuance and understanding.

I pray that we will be wise enough to take heed of the past.

Mental illness is not like a cold (mostly)

After a very long time, I have recently come to a painful realization: For a long time, I thought of my mental illness like a cold. Like a temporary inconvenience, something to be shrugged off.

When I have a cold, I usually feel better after a day or two, and I am tempted to jump back into action. That’s when the relapse happens — when I am feeling strong and proud, like I have vanquished my foe. Fortunately, despite my occasional bouts of foolishness, my body is healthy enough to still be able to fight off a cold.

I made the mistake of taking this mindset into my fight with depression. When I began to feel better, I figured I was healed! I don’t need this dumb diet, this lame meditation! I’m ready to post something controversial on Facebook! I’m ready to keep up with the latest news! Ready to confront someone on the Internet who is wrong! I can power through this stress!

It took me years to recognize that anxiety is not the same as worry. Christians aren’t supposed to have anxiety, after all, so I must not be trusting God enough. This just added guilt to the burden I was carrying. When people tell you to “shake it off,” or “snap out of it,” it just adds to the feeling of failure.

When symptoms are external, other people usually step in. They say: You’re sick — go home and take care of yourself! When symptoms are inside your head, however, it’s far more difficult for a friend, community, or even a spouse to “be there” for you. It’s hard to know what to say. It takes knowledge and wisdom, it takes transparency and vulnerability. A relationship or community like this is rare.

So I kept trying to power through my depression, never realizing that this regular exposure to fight-or-flight hormones was doing massive damage to my mind and brain. If untreated, the flu can turn into pneumonia and then into sepsis. This has killed very healthy people — and one of my heroes, Jim Henson.

Finally I have some to the point where I am able to form better habits and be open with enough people with my struggles. It’s humbling and painful. It still carries a stigma. Often I simply have to put up a front whenever I’m around people that really don’t understand. This is exhausting, and carries the danger of falling back into the old “I-can-do-this-alone” mentality.

There is no silver bullet solution to all this, just hard work. Medication can help, but it’s not a panacea.

If you are struggling with mental illness, find a community who understands. Humble yourself enough to do what you need to stay healthy and trust others with your struggle.

If you know someone with mental illness, learn about it. Be part of a community who understands and supports.

Telecine project – part 10 – troubleshooting

As I mentioned in part 9, I completed the main circuit board and began testing. I’m having two issues:  (1) once it begins turning, the stepper motor won’t stop; and (2) the lamp LED turns on won’t turn off.

Stepper motor

Here is the sequence of steps.

I clicked the Forward button.

The server indicates that it has started the motor running forward, and the motor does indeed start running.

If I click Reverse, the motor reverses and continues running.

When I click Stop, however …

A blank line appears on the server log, and the server becomes non-responsive. The motor continues to run, and the server will not respond to any further commands from the client.

At this point I have to manually shut down the server app.

Lamp LED

The relay is connected to pin #2 on the Raspberry Pi, which is always high, no matter what the server software says. I’m not sure what is going on with this. It’s also possible I have something wired improperly.

The dangers of theistic water cyclism

What is the Water Cycle?

The water cycle is a atheist-scientific “theory” that rainfall is caused by a completely naturalistic process involving evaporation, condensation, heat, and air currents.

What did the ancients believe?

They believed the plain teaching of God’s Word in verses such as these:

Deuteronomy 11:14

“If you carefully observe the commands that I’m giving you today, to love the LORD your God and serve him with all your heart and soul, then he will send rain on the land in its season the early and latter rains then you’ll gather grain, new wine, and oil.”

Job 5:10

He gives rain on the earth and sends water on the fields…”

Matthew 5:45

“… so that you may be sons of your Father who is in heaven; for He causes His sun to rise on the evil and the good, and sends rain on the righteous and the unrighteous.”

Jeremiah 14:22

“Are there any among the idols of the nations who give rain? Or can the heavens grant showers? Is it not You, O LORD our God?”

There are many others. They all clearly show that it is God who sends — and withholds — the rainfall, and not some impersonal, random, natural process. Nowhere in the Bible can you find any indication that rain comes anywhere from God Himself.

Reality Science vs. Water Cyclism

But wait, you say, can’t we reproduce evaporation and condensation in a lab? Yes, we can! That’s called experimental science. Even a child at home can see this demonstrated when boiling water, or seeing the drops of water on a cold window when it’s humid outside.

But has anyone actually seen a water molecule ascend to the heavens and descend again as rain? No. Because it can’t be repeated in the sky, it’s not experimental science.

Can the water cyclists (professionally known as Meteorologists) predict rain with any accuracy? If you’ve ever watched the weather forecasts, you will know that they cannot. They are never even close. This shows clearly the faulty thinking that comes from believing that simple evaporation/condensation can explain rainfall.

Yet still the water cyclists claim that God is not in control of the rain!

Theistic Water Cyclism and Christians

The essence of theistic water cyclism is “God started the water cycle and he is still watching over the rainfalls and storms.” Regardless of any good intentions, theistic water cyclists twist Scripture and weaken the fabric of biblical doctrine.

Theistic Water Cyclistic Assumptions

In theistic water cyclism, the Bible is regarded as a collection of documents which partially contains God’s Word. The Bible thus contains no authoritative, binding truths, but must be freshly interpreted and corrected for every era and in every situation.

God in the Water Cycle?

Christians who adopt water cyclism are inconsistent because they are accepting the foundation of the humanistic worldviews. Essentially, they are telling God that they believe Him when He told us about the Virgin Birth, Crucifixion, and Resurrection of Christ, but they do not trust Him when He tells us about how He sends rain to the world.

Compromise in Christian Leaders

Some respected Christian leaders, famous for defending the fundamentals of the faith against compromise, were guilty of their own compromise. None of us, including any particular scholar (no matter how respected he is), or even the majority of scholars or Christians, can be the final authority for determining truth. God’s Word must be the authority.

Thanks to Answers in Genesis and God of Evolution for the idea.