Who do you say that I Am?

You know, it just occurred to me that the New Testament has no claim to any kind of divine authority apart from a belief that Jesus is God.

First of all, if the writers of the NT “mistakenly” believed that Jesus is God (or were lying), then the NT is fundamentally unreliable.

Secondly, the teachings of Jesus form the basis for there being a second Testament of divinely inspired scripture. (Heb. 1:1-4, Mark 13:31). The NT is never depicted as the infallible words of God the Father – yet even the JWs see it as the foundation of the church itself – the church that Jesus called “My church.”

Catholics believe in Apostolic Succession, which means that Jesus delegated His doctrinal infallibility to His disciples, who then delegated it to their disciples, etc. There’s no evidence anywhere for a continuation of infallible doctrinal authority for anyone besides the writers of the New Testament (at least, not outside the self referencing claim of authority made by the church itself in the basis of its own tradition)… and the only argument for the infallibility of the New Testament is the infallible doctrinal authority of its writers – a claim they make explicitly in Acts 1:8.

If the New Testament is the infallible Word of God, and if it is also no more or less than a faithful transmission of the teachings of Jesus, then the teachings of Jesus are, themselves, no more or less than the infallible Word of God. Let me say that again: the teachings of Jesus are the Word of God.

If Jesus isn’t God, then the New Testament – His Words – aren’t God’s Words – and there’s no reason to believe anything in it, or to ascribe the same level of divine inspiration to it that we ascribe to the Old Testament. But the Mormons and JWs do ascribe divine authority to the New Testament (Mormons think the New Testament we have today is corrupted – but they still believe that the original was divinely inspired – although I don’t see why, since there’s no real value in a transcendent, ultimately authoritative written record that no one can find).

Even if “the Word” was just “a” god, that still identifies the Person of Jesus so closely with the New Testament that we can’t think of it as anything other than His book – while simultaneously equating Him so closely with the Word of God as to make Him not just it’s source, but it’s very embodiment. John doesn’t say that a prophet, messenger or teacher of the Word became flesh and dwelt among us – it says that the Word itself did. Jesus is, in fact, bringing us His OWN Word – is, HIMSELF, the Word, with all of its irresistible divine authority – Something no “mere” Old Testament prophet can claim. (Matt. 12:41-42). (Another way Jesus distinguishes Himself from the prophets is by pointing the way to Himself – by claiming to BE the Way – when all a prophet can do is point the way to Someone greater. See John 5:40, 7:37, and 14:6).

So we can’t claim any authority for the New Testament in excess of the Personal authority of Jesus, Himself (Mark 11:28)… and without the New Testament, there is no church at all (Matt. 16:18, 21:44) – which is why JWs and Mormons do claim infallible, Divine authority for the teachings (and very Person) of Jesus… even though that claim is competely meaningless unless the Person they are attributing divine authority to is intrinsically divinely authoritative – ie, is, Himself, The Divine Authority. It would make more sense for the Mormons to reject the New Testament competely, and to claim that the Book of Mormon was “Another Testament” of God the Father (not Jesus) that supercedes the authority of the New Testament, than to claim that anyone other than God, Himself, is the Source or Embodiment of His Own Words.

How to Create An Anonymous, Private, Decentralized Social Network

  1. The network in my imagination consists of Postal Workers,
    Directories, and Clients.
  2. Bob (a Client), lists the Postal Worker(s) that bring(s) him his
    messages in one or more Directories.
  3. To send Bob a message, Alice (another client) puts it into an
    envelop that only Bob can open. Then she queries the directory to
    find out who Bob’s Postal workers are and puts the FIRST envelop
    into ANOTHER ONE, that only one of Bob’s Postal Workers can open.
    (She can also send copies of the message to more than one of Bob’s
    Postal Workers if she wants to, just to make sure he gets it).
  4. Finally, Alice puts the SECOND envelope into a THIRD envelope,
    that only one of her own Postal Workers can open. (Again, she can
    give copies of her message to more than one Postal Worker if she
    wants to take extra precautions to ensure that the message gets
    delivered).
  5. Alice’ Postal Worker knows who the message is from, but not who
    it’s for. All he knows is which other Postal Worker he’s supposed to
    give it to.
  6. When Bob’s Postal Worker opens his envelope, he doesn’t know who
    the message came from or what’s in it; all he knows is who it’s for.
    This is how Tor works.
  7. When Bob receives Alice’ message, he can check to see whether her
    finger prints are on it. (He can also refuse to accept messages from
    people he isn’t already friends with).
  8. Bob doesn’t need to search the network for social media posts or
    other types of messages from Alice; instead, she just sends all her
    posts directly to one or more of the Postal Workers that work with
    Bob (or with any of her other subscribers).
  9. If there is a particular document Bob wants, he doesn’t need to
    search the network for it; he can just send Alice a request for the
    document, via whatever Postal Workers are in touch with her. Only
    Alice will know what Bob is asking her for, and only Bob gets to see
    the document. No one else even knows that the two of them are
    communicating with each other.
  10. If Alice’ Postal Workers wanted to spy on her, they would have
    to persuade Bob’s postal workers to collaborate with them, and that
    might be difficult to do if Bob was paying them enough money.
  11. If the government wanted to spy on Alice, they would have to
    force Alice’ Postal Workers to spy on her, and they would have to
    know Alice was talking to Bob – something not even her own Postal
    Workers would know – so that they could also force Bob’s Postal
    workers to spy on him.
  12. The likelihood of any one government forcing all the Postal
    Workers in the world to turn over all their envelopes all the time
    is low – and Bob and Alice could still protect against it by
    secretly working with an extra set of Postal Workers that they
    chose not to list in any Directory.
  13. A government could, theoretically, pass a law against operating
    as a Postal Worker. But it would be difficult to enforce, and
    Clients in that country would just start send their messages through
    Postal Workers in other countries.
  14. People could be incentivized to serve as Postal Workers by
    strongly-held beliefs, or by charging a fee. As someone else pointed
    out, “there will always be some Russian server willing to take your
    money in exchange for serving your posts.”
  15. Finally, there could be public review boards where Clients
    could post ratings and reviews of Postal Workers, to help other
    Clients decide who to work with and depend on.

Why Christians Support Israel

“In the last days

the mountain of the Lord’s temple will be established
as the highest of the mountains;
it will be exalted above the hills,
and all nations will stream to it.

Many peoples will come and say,

“Come, let us go up to the mountain of the Lord,
to the temple of the God of Jacob.
He will teach us his ways,
so that we may walk in his paths.”
The law will go out from Zion,
the word of the Lord from Jerusalem.
He will judge between the nations
and will settle disputes for many peoples.
They will beat their swords into plowshares
and their spears into pruning hooks.
Nation will not take up sword against nation,
nor will they train for war anymore.

Come, descendants of Jacob,
let us walk in the light of the Lord.

You, Lord, have abandoned your people,
the descendants of Jacob.
They are full of superstitions from the East;
they practice divination like the Philistines
and embrace pagan customs.
Their land is full of silver and gold;
there is no end to their treasures.
Their land is full of horses;
there is no end to their chariots.
Their land is full of idols;
they bow down to the work of their hands,
to what their fingers have made.
So people will be brought low
and everyone humbled—
do not forgive them.

Go into the rocks, hide in the ground
from the fearful presence of the Lord
and the splendor of his majesty!
The eyes of the arrogant will be humbled
and human pride brought low;
the Lord alone will be exalted in that day.

The Lord Almighty has a day in store
for all the proud and lofty,
for all that is exalted
(and they will be humbled),
for all the cedars of Lebanon, tall and lofty,
and all the oaks of Bashan,
for all the towering mountains
and all the high hills,
for every lofty tower
and every fortified wall,
for every trading ship
and every stately vessel.
The arrogance of man will be brought low
and human pride humbled;
the Lord alone will be exalted in that day,
and the idols will totally disappear.

People will flee to caves in the rocks
and to holes in the ground
from the fearful presence of the Lord
and the splendor of his majesty,
when he rises to shake the earth.
In that day people will throw away
to the moles and bats
their idols of silver and idols of gold,
which they made to worship.
They will flee to caverns in the rocks
and to the overhanging crags
from the fearful presence of the Lord
and the splendor of his majesty,
when he rises to shake the earth.”

— Isaiah 2:2-21

When God sent the flood. He was acting as arbiter over mankind. That’s not what you want.

When my boys are fighting I tell them, you’d better figure out a way to resolve your differences without fighting, because if I have to step in, no one is going to like the solution that I come up with.

That’s what God does, too. He is ultimately holy – no one is guiltless before Him. That’s why the Messiah has to come. Because not even His own nation, that He delegated His authority to, and taught His law to, could meet His standard. Even they eventually ended up earning His judgment.

So at first, what you see in the Bible, is that God deals directly with mankind, and it doesn’t go well. There is a flood. Afterward, He says, I don’t want this to happen again, so what will I do? He delegates part of His authority to Noah. In particular, he says that humans should take care of arbitration – justice and order – from then on. “If anyone sheds a man’s blood, by man must his blood be shed.” Not by God.

A few years later, He gives the land of Canaan to the people of Israel. Why? Because the Canaanites weren’t managing it well. You see, there are some things God takes care of Himself, and there are some things He leaves up to us. He keeps our hearts beating, and fills our lungs with oxygen, but He leaves it up to us to find food. He makes the sun move across the sky and keeps the seasons changing in a regular rhythm, but he leaves it up to us to grow crops and maintain a good stock of animals on earth.

He can even arbitrate between the oppressor and the oppressed – but we don’t want Him to. Why? Because we are all oppressors. We’ve all been unfair, and unkind. “Agree with your adversary quickly while you are on your way to court.” So after the flood, He left that up to us, too. “The ruler does not bear the sword in vain.”

Now a time came for the Jewish people when they weren’t doing a good enough job of that, just like the tribes that occupied Canaan before them. You see, government is a privilege. If you don’t do it well – if you’re unjust, if there is disorder and the innocent have no one to turn to – eventually, you will lose that privilege and God will give it to someone else. That’s what happened to the tribes that came before Israel, and that’s what God warned would happen to them, if they didn’t uphold His moral law. And it did.

Once Israel went into captivity in Babylon – ever since then – the management of that particular territory was handed over to their enemies. Not until very recently did they finally have that privilege handed back to them. Because now, I believe, they are ready. And so far they have been doing an incredible job – but they still don’t have full control of their own nation, yet, as God promised they would. And God keeps His promises.

But let’s see how things are going around the rest of the world. There’s persecution, violence and injustice. Even the animals suffer under the cruelty of the demons that some people still worship. Look how elephants are treated in India. Look how children are treated in Thailand. Look at abortion.

Look how God’s people – Christians and Jews – are treated everywhere.

That’s why God sent His Son Jesus into the world. Now, Jesus was Jewish. Of course I believe He was the Messiah, but my Jewish friends disagree with me.

The Messiah comes for two reasons – first, He comes to restore the Jewish people to their homeland. That’s a kind of redemption, and Jesus hasn’t done that yet. Which is why they don’t believe that He is the Messiah. But He also comes to redeem all mankind. He purifies some of His children – Christians and Jews – by letting them taste the fullness of mankind’s capacity for evil. (When Peter asked to reign with Him, He told him, “You don’t know what you are asking; are you able to share with Me the cup of suffering that it is my destiny to drink?”)

Then He takes these innocent victims – like His Son Jesus – and He sets them up in place of all the other rulers of the world, those of us who have no clue what we are doing. Because they will truly understand how bad things can get, and what things should look like instead. And He supervises them personally. Like with Moses, anything that’s too hard for them, they bring to Him for arbitration. And that’s when you have the 1000 years of unimaginable peace and prosperity.

Now of course there are forces in this world that are opposed to justice. Forces that thrive on oppression, exploitation, and selfishness. And right now there’s a battle going on between those forces. So you see we humans still have a part to play – especially those of us who still have a say in our own government. Part of what God looks at to determine whether we are running things down here on earth the way we were meant to is, how are we treating the most vulnerable, especially the children?… and in particular, how we are treating His children?

So you can see all these conflicts throughout history, and so far mankind has tended to side with the weak. Societies that don’t, don’t tend to do well. God has left it up to us to stand against evil. And as long as we do, He doesn’t have to step in and put a stop to whatever it is we’re trying to do down here on earth.

That’s why I stand up for Israel. If ever there is no one left to stand up for what’s right, then He will have to come down again, in Person, and do something about it Himself. That’s the apocalypse.

No Christian who understands what the apocalypse is, wants it to happen. There are “Christians” who want the Jewish people to all return to Israel so that Jesus can come back, andthose people are fools. Jeremiah said, “I have not desired the day of the Lord.” And Isaiah said, “woah to the ones who say, let Him work His work in our day, so that we may see it.” Isaiah’s audience got their wish – unfortunately.

I don’t stand with Israel because I’m hoping that Jesus will come back in my lifetime. I stand with Israel so that He won’t have to. Because when no one else is left to defend them, Jesus Christ will come down here and do it Himself.

What a horrible day, what a catastrophe! No world wide flood could ever compare. Look what happened to the angels who disobeyed God – angels! And look what happened when His own, chosen, beloved people forsook His ways, and failed to uphold His mercy. What do you think will happen to the rest of us – God’s enemies? Do you think we will be better off than His own beloved children were, when He came to judge them – or worse?

No – it will look something like the book of Revelation. Beg your heavenly Father not to let this happen in your lifetime. “Now the time has come for judgment to begin at the house of God. And if the righteous are hardly spared, where will the ungodly and sinner appear?” “Look up at the fields and see that they are white, already, for harvest. Pray to the Lord of the harvest that He will send forth reapers [ie, evangelists].” Because, ultimately, the change that has to take place in this world, has to take place within the hearts of human beings.

In short, I stand with Israel as a Christian because God has delegated the management of human affairs to… well, to humans. As long as we rule with justice and mercy – as long as we uphold the cause of the helpless and the oppressed – He won’t have to come down here and do it for us.

“Do not exalt yourself in the king’s presence, and do not claim a place among his great men; it is better for him to say to you, “Come up here,” than for him to humiliate you before his nobles. What you have seen with your eyes, do not bring hastily to court, for what will you do in the end if your neighbor puts you to shame?”

“Again, you have heard that it was said to the people long ago, ‘Do not break your oath, but fulfill to the Lord the vows you have made.’ But I tell you, do not swear an oath at all: either by heaven, for it is God’s throne; or by the earth, for it is his footstool; or by Jerusalem, for it is the city of the Great King. And do not swear by your head, for you cannot make even one hair white or black. All you need to say is simply ‘Yes’ or ‘No’ anything beyond this comes from the evil one.”

“Do not be quick with your mouth, do not be hasty in your heart to utter anything before God. God is in heaven and you are on earth, so let your words be few. A dream comes when there are many cares, and many words mark the speech of a fool. When you make a vow to God, do not delay to fulfill it. He has no pleasure in fools; fulfill your vow. It is better not to make a vow than to make one and not fulfill it.”

Also read the whole (very short) book of Habakuk if you want to see what happens when someone insists on asking God to step in and put a stop to human injustice.

“Settle matters quickly with your adversary who is taking you to court. Do it while you are still together on the way, or your adversary may hand you over to the judge, and the judge may hand you over to the officer, and you may be thrown into prison.”

“Then the kings of the earth, the princes, the generals, the rich, the mighty, and everyone else, both slave and free, hid in caves and among the rocks of the mountains. They called to the mountains and the rocks, ‘Fall on us and hide us from the face of him who sits on the throne and from the wrath of the Lamb! For the great day of their wrath has come, and who can withstand it?'”

“For Zion’s sake I will not keep silent, for Jerusalem’s sake I will not remain quiet, till her vindication shines out like the dawn, her salvation like a blazing torch. The nations will see your vindication, and all kings your glory; you will be called by a new name that the mouth of the Lord will bestow.”

“You who call on the Lord, give yourselves no rest, and give him no rest till he establishes Jerusalem and makes her the praise of the earth. The Lord has sworn by his right hand and by his mighty arm: ‘Never again will I give your grain as food for your enemies, and never again will foreigners drink the new wine for which you have toiled; but those who harvest it will eat it and praise the Lord, and those who gather the grapes will drink it in the courts of my sanctuary.’ Pass through, pass through the gates! Prepare the way for the people. Build up, build up the highway! Remove the stones. Raise a banner for the nations. The Lord has made proclamation to the ends of the earth: “Say to Daughter Zion, ‘See, your Savior comes! See, his reward is with him, and his recompense accompanies him.’” They will be called the Holy People, the Redeemed of the Lord; and you will be called Sought After, the City No Longer Deserted.”

“Let everyone be subject to the governing authorities, for there is no authority except that which God has established. The authorities that exist have been established by God. Consequently, whoever rebels against the authority is rebelling against what God has instituted, and those who do so will bring judgment on themselves. For rulers hold no terror for those who do right, but for those who do wrong. Do you want to be free from fear of the one in authority? Then do what is right and you will be commended. For the one in authority is God’s servant for your good. But if you do wrong, be afraid, for rulers do not bear the sword for no reason. They are God’s servants, agents of wrath to bring punishment on the wrongdoer. Therefore, it is necessary to submit to the authorities, not only because of possible punishment but also as a matter of conscience. This is also why you pay taxes, for the authorities are God’s servants, who give their full time to governing. Give to everyone what you owe them: If you owe taxes, pay taxes; if revenue, then revenue; if respect, then respect; if honor, then honor.”

Exceptions Considered Harmful?

The other day when I was scrolling LinkedIn, I found a post arguing that exceptions are not the best way to handle errors. Most languages don’t force you to handle or re-throw exceptions at each level of the call stack, which means that it can be difficult to track down the source of a given exception when it bubbles up to the top level. In addition, exceptions should only ever be used to address situations that are, well, exceptional, and not situations that can easily be anticipated – say, a record not being found in a database.

Error Statuses in JSON Data

I’ll share the solution that was suggested in the post momentarily, but first, I’d like to share an old solution from the days before I knew much about the REST maturity model. In those days, an “Ajax” request was just a POST with a uniform JSON response. Since it hadn’t occurred to me to use HTTP response codes, I needed to indicate success and error statuses in my JSON, so my responses usually ended up looking something like this for a “failure”:

{ error: "User not found" }

And something like this for a “success”:

{ result: { name: "Bob", password: "oops, we shouldn't be sending this to the front end!" } }

In other words, successful calls populated the “result” field, and unsuccessful calls populated the “error” field. It was easy enough to check for the existence of an “error” or “result” on the front end, and proceed accordingly.

Returning a Result Object

The aforementioned LinkedIn post inspired me with an idea: if an API endpoint can return this type of response, why can’t a function? Couldn’t we have our functions return an object, like this:

type Error = object
  message: string

# The Nim language uses the [T] syntax for generics
type Result[T] = object
  value: ref T
  error: ref Error

# A Nim 'proc' is just a function, and the equals sign
# at the end of this line works like '=>' in other languages.
proc isSuccess[T] (this: Result[T]): bool =
  this.error == nil and this.value != nil

proc isFailure[T] (this: Result[T]): bool =
  not this.isSuccess

proc failure[T] (error: Error): Result[T] = 
  result.error = new Error 
  result.error[] = error

proc success[T] (value: T): Result[T] =
  result.value = new T
  result.value[] = value

… instead of throwing an exception? Then we could check the results, like this:

proc getUsernameFails (_: int): Result[string] =
  result = failure[string](Error(message: "User not found."))
proc getUsernameSucceeds (_: int): Result[string] =
  result = success[string](Error(message: "User not found."))
var usernameResult = getUserNameFails(999)
# [] is Nim's dereference operatorif usernameResult.isSuccess: echo usernameResult.value[]
else: echo usernameResult.error[]
usernameResult = getUserNameSucceeds(999)
if usernameResult.isSuccess: echo usernameResult.value[]
else: echo usernameResult.error[]

Of course, maybe you’ve already noticed the potential issue with this approach. Accessing the error field of a Success result, or the value field of a Failure result, without first checking for isSuccess or isFailure, will result in a null pointer exception (hardly ideal, considering the point of this exercise is to do away with exceptions!), or worse, a buffer overflow.

Discriminated Unions

Instead of a Regular old, Unassuming Result Objects (RUh-ROh’s…), the suggestion on LinkedIn involved a Union of two types. One type contains a value field, and the other contains an error field. The Union can exist in either a Success or a Failure state, and, depending on which state it’s in, it will contain one or the other field.

The Nim language accomplishes something similar by allowing you to use a case statement within an object declaration, to determine what fields the object should have. Think of it as syntatic sugar for the abstract factory pattern:

type ResultKind = enum  Success,
  Failure

type Result[T] = object
  # Nim infers from this case statement that a Result object has a  # ResultKind enum field, called 'kind'  case kind: ResultKind:
  of Success:
    # a Result object will only have this field when its kind field is set to ResultKind.Success
    value: T
  of Failure:
    # a Result object will only have this field when its kind field is set to ResultKind.Failure 
    error: Error 

Then, a function can indicate success or failure by returning one or the other variation of the Result object:

proc getUserById(id: int): Result[int] =
  if database.getUser(id) == nil:
    result.kind = Failure
    result.error = Error(message: "User not found")
  else:
    result.kind = Success
    result.value = user.id

However, there’s an issue with this approach, as well. It’s true that you’re no longer dealing with null pointer access when you try to inspect the value field of a Failure object, or the error field of a Success object. But the determination as to which fields of a given Result object are currently available can only be made at run-time; so, when the user tries to access a non-existent field, it throws an exception.

And so we’re back where we started.

Multiple Return Values

What we really want is a way to force the user to check the success status of a function call before trying to use the result. Go and React both come really close, by returning multiple values (Go), or an array (React). In Go, you do something like this:

error, result := myLib.DoAThing()
if !error {
  doSomethingWith(result)
}

While in React, you do something like this:

let [error, result] = doAThing()
if (error) console.log(error)
else doSomethingWith(result)

In Nim or Python, you can accomplish the same result using a tuple:

let (error, result) = doAThing()
if not error: doSomethingWith(result)
else: echo error

(Okay, so my example only works in Nim. But why would you use Python anymore, when you can get the same expressiveness from a language that also allows you to write compilers and OS kernels, and that also cross-compiles, at your option, to Javascript?)

A common complaint I see with this approach, especially in Go, where it is used most often, is that now you have to do an if !error check for nearly every line of code you write, which is tedious and ugly. To be fair, the LinkedIn solution – using discriminated unions – has the same issue.

… and that’s when I realized why Nim’s readLine function works the way it does. And was reminded of a best practice my dad (- another programmer -) told me about from back in the days before C++ and Java had unseated C as the only reasonable choice for Serious Programmers –

The Result Argument.

Nowadays, most languages default to pass-by-value arguments, like this:

let manipulateString = (str) => {
  str = str.toUpperCase()
}

let myString = "hello"
manipulateString(myString)
console.log(myString) // "hello"

You can try this in your browser’s developer tools. myString will remain unchanged, because the str argument contains a copy of the original value. Nim functions (known as “procs” – since Nim is a procedural language) work in a very similar way:

proc maniuplateString (str: string) =
  str = str.toUpperAscii() # does not compile - str is an immutable copy

let myString = "hello"
manipulateString(myString)
echo myString # hello

You can give manipulateString the power to modify str, however, by turning it into a mutable reference, using the var keyword:

proc maniuplateString (str: var string) =
  str = str.toUpperAscii()

var myString = "hello"
manipulateString(myString)
echo myString # HELLO

The ability to pass by reference means that we can store the result of a successful function call in its last argument, and use the function’s return value to indicate success or failure, like this:

proc getUserName (id: int, username: var string): bool =
  let user = database.getUserById(id)

  if user == nil: 
   return false
  else:
    username = user.username
    return true

var username # = ""

if not getUserName(999, username):
  return false # pass along the failure status

echo username

Nim auto-initializes all declared variables to sensible defaults; it also does not allow users to ignore a function’s return value – you have to explicitly discard it, with the self-documenting discard keyword:

var username
discard getUserName(999, username)
echo username # ""

This forces you to think about what you want to do with the true/false value returned by getUserName, and it forces you to think about what – if anything – is being stored in the username variable. If you absolutely refuse to think, and getUserName can’t get the username from the database, then we fall back on an empty string, which follows the principle of least surprise.

The real power of this convention manifests in a loop:

var input = ""
while stdin.readLine(input):
  doSomethingWith(input)

Your function can even use an enum value, to indicate exactly what went wrong:

type errno = enum
  # "errno" is a callback to that old best practice from C
  Success,
  InvalidUserId,
  UserNotFound,
  KeyCollision

proc getUserName(id: int, username: var string): errno =
  if id < 0: return InvalidUserId
  # ... etc. ...

I’m not sure how I feel about this way of doing things as opposed to exceptions. And I wish Nim had something like C++’ & operator to more clearly signal to the reader when we are and are not passing by reference. But I think I will try this way out for awhile in my side projects, and see how it holds up.

Don’t look away.

Iranian leaders have denied the legitimacy of the internationally recognized sovereign state of Israel at every UN meeting they have ever attended, and called for its destruction.

Today, they called the leaders of a terror group that has killed hundreds of Americans (and thousands of Lebanese and Syrians, and which, within recent weeks, internationally targeted 12 Druze children for the crime of playing soccer in Northern Israel), “our martyrs,” and attacked Israel in “retaliation” for their assassination.

In doing so, Iran explicitly identified with a military organization, Hizbullah, that is currently engaged in an active campaign to drive the Jewish people living in Israel from their homes. It amounts to an open declaration of war, and proves that their commitment to the destruction of Israel is more than just words.

If Israel is to survive, it has no choice but to address the immediate, existential threat posed by Iran.

Tyranny of Tyrannies

Of all tyrannies, a tyranny sincerely exercised for the good of its victims may be the most oppressive. It would be better to live under robber barons than under omnipotent moral busybodies. The robber baron’s cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for our own good will torment us without end for they do so with the approval of their own conscience. They may be more likely to go to Heaven yet at the same time likelier to make a Hell of earth. This very kindness stings with intolerable insult. To be “cured” against one’s will and cured of states which we may not regard as disease is to be put on a level of those who have not yet reached the age of reason or those who never will; to be classed with infants, imbeciles, and domestic animals.

― C.S. Lewis, God in the Dock: Essays on Theology

ADHD

The world is really simple – and that makes everything complicated. Lots and lots – billions – of simple pieces – very simple pieces – all moving around and interacting at the same time. It’s very complicated.

I hate playing chess. I used to think I was smart, but then I realized how simple chess was, and how bad I was at it. I want chess to be something that smart people can just be good at – but it’s a skill, like everything else – so I’m not good at it, which means I’m not a smart as I thought I was, because I can’t just pick it up, look at it, and figure it out. So I hate it.

Everything is like that. The things that were made by smart people, for smart people, usually end up getting mastered – and taken over – by stupid people who want the benefits of playing the same closed games we smart people invented in order to keep them out. And then it isn’t fun anymore, because before long, the stupid people get to be smarter than the smart people, and we have to find something else to do.

It’s like the rubiks cube. I tried to figure out how to figure out how to solve it – without algorithms. I don’t want to memorize a set of steps, I want to see how smart I am. But after I solved it a few times, I started to realize that there are certain sets of steps you can follow that work every time… and then it got boring, because all I was doing, at that point, was memorizing a set of steps.

Everything eventually becomes a science – which means that the more magic you practice, the less magic there is in the universe. At some point, all the magic in the universe will just become science and then life won’t be worth living anymore.

If you really want to be special you have to invent something. A religion, a martial art, a bit of software. A book. To be the first one – but, even then, it’s not guaranteed. Even if you’re the first one, someone else with no talent can come along and sell your thing and take all the credit.

You also have to be careful not to fall into the trap of mass producing other people’s inventions for money – artists end up drawing the same pictures, again and again – software developers inevitably find themselves “specializing” in writing and rewriting the same application, again and again, in different languages and for different companies. At some point, you stop inventing altogether and become a full time salesman – someone with no talent selling other people’s ideas and taking all the credit. But if it puts food on my children’s plates…. ?

Here’s another thing that happens when you are a creator. An idea gets into your head, and it won’t go away. Most of the time you can drink another cup of coffee, or hit the weights again, or watch another YouTube video, or go for another walk, or smoke another cigarette, or… and then, after all that, if the idea still won’t go away, so that you can sit down and get busy doing whatever it is you’re really supposed to be doing, for whoever is paying you to do it, what then?

If I have to write one more paragraph about the election, or one more RESTful CRUD service… draw one more couple holding hands in front of a sunset on the beach… or stand in this horse stance for one more minute…

I had a melt-down last night. They’ve been happening more and more frequently.

Maybe I should stop drinking so much coffee.

What are you protesting?

Imagine a world where there was a group of people who decided which ideas were “correct,” and made an example out of anyone who expressed dissent.

Imagine a world where people were not permitted to organize around a shared set of spiritual beliefs, or to share those beliefs with others.

Imagine a world where you had to surrender yourself as a slave to those who had access to the goods and services necessary for your survival, instead of engaging with them in an equitable, voluntary system of exchange.

Imagine a world where, once you had spent your time – which is your life – to earn money, that money and the things you bought with it could be taken away from you by people who you had no say in appointing.

Imagine living in a world where others could determine your status as a person, based on arbitrary criteria designed specifically to exclude you.

Being American means being willing to give your life to prevent that from happening.

And being against Israel means support for those who are willing to kill and die to ensure it happens to the Jewish people.