Terms and Conditions: A Hobson’s Choice

Hobson’s choice: the choice of taking either that which is offered or nothing; the absence of a real alternative.
Origin: 1640–50; after Thomas Hobson (1544–1631), of Cambridge, England, who rented horses and gave his customer only one choice, that of the horse nearest the stable door, from dictionary.com.

I just joined another site yesterday. Or it was an app, I don’t really remember. It doesn’t really matter what it was. But this site had terms and conditions that you had to accept before using it. If you are just a general internet user, there is really nothing you can do about terms and conditions. If you want to use this site or app, you have to accept them. And if you don’t agree with them (and my guess would be in most cases, you would always be able to find something you don’t agree with), you simply can’t use the site.

This is the classic case of a Hobson’s choice, where there appears to be a real choice between two alternatives, but one of the options isn’t really an option.

Consider a case where you are at work and the boss wants you do to something, and he says to you: “Either you can do this, or you are fired!” In this case, you have “a choice”– you can either do this task or not. But assuming you want to keep your job, you are left with no real alternative, and similarly very little bargaining power.

The end users on the internet face this on basically every site you join. There are way too many terms and conditions for it to be at all feasible and reasonable for you to read them. Almost all sites present terms and conditions in a way where they *expect* you not to read them, but you *have* to agree to them to use the site. The sad state of affairs is that users *have* to a agree to a term sheet that they *almost certainly* never read. Many sites have terms and conditions hidden at the footer of their site that you implicitly agree to just by being there.

If I had to guess I would say that way less than 1% of Apple users read their terms and conditions sheets. I would be very curious to know that number.

So that’s about it. If you want to use the internet at all, just accept the fact that you had to agree to all these really stupid contracts that you have never read.

How the Internet Works 7 – Clients and Servers

Part of my goal with this series of posts it to demystify a lot of the jargon that you find when people talk about the internet. Each of these topics has a whole literature and special part of the internet dedicated to it, but just knowing what the general idea is a step in the right direction.

Today, I want to write about “clients” and “servers.” These are words that are used a lot in describing basic parts of the internet, so here is the answer:

The definitions go hand in hand, and so that is why I will introduce them together.

The client is someone that requests information server. The server is the one who responds to the requests.

If you think about it like a restaurant–when you go, you sit down at your table. You are the “client,” you can order whatever food you like. The waiter or waitress is your “server,” they respond to your requests.

In terms of the internet, you are the client. When you want to visit a webpage, say google.com, you make a request to get their webpage, and one of Google’s servers responds with the webpage.

When people talk about servers they can mean a million different things, but usually they are referring to some computer, (or part of a computer), that is responsible for “serving” up their website, or responding to the different clients who are requesting it.

“Client” and “server” go hand in hand with another pair of words: “front-end” and “back-end.” Front-end is the client-side, or the place where you, the end-user, is. Back-end is the server-side, where the website’s big computers and data-centers are. Now if I told you that “php is a server-side programming language”–you can start to decode that phrase.

How the Internet Works 6 – Programming Languages

This is going to be an extremely brief and high level overview of what a programming language is. My goal here is that if you don’t know what a programming language is before reading this, you have an idea of what it is after.

A programming language is just the way that you tell a computer what you want it to do. You run programs on your computer, like a web browser, or maybe iTunes. These are programs. Someone or a group of people built these programs, and the way they did it was by using a programming language.

There is a famous first program that people write, called “Hello World” where you just try and get the program to print out “Hello World.” Here is an example in a programming language called C:

#include <stdio.h>

int main(){
    printf("Hello World");
}

Theres a lot of random stuff here, a lot of random syntax to get the program to run, but the basic idea is that this will output “Hello World” when you run it.

In another programming language called python, if you want to print hello world you just write:

print "Hello World"

Different programming languages have different ways of telling the computer to do things. Many math operations also carry over, so for example you could add two numbers in python with:

print 5 + 10

There is wayyyyyyyyyyy more to programming languages. There is a specific legal way to write things in programming languages, and that is called the syntax. There are lots of other ways to classify and talk about programming languages, but that is for another time.