This is a tricky mechanic

August 2, 2010 under Uncategorized

From CBC : Federal Transport Minister John Baird is probing whether airlines are following the rules requiring staff to see the faces of all passengers, including those wearing veils.

By now, news stories of police seeing this or that on YouTube and catching stupid criminals are old hat.

The billions of youtube videos and facebook photographs are a new thing for enforcement. I wouldn’t immediately scream Good Thing or Bad Thing, but rather Powerful thing. It magnifies the ability to enforce.

The problem with a magnifier is that it uncovers bad decisions and imbalance.

Enforcement is, by necessity, a selective process. The dirty secret of enforcement is not that we don’t enforce everything because we can’t. It’s that we don’t enforce everything because we don’t want to. If we enforced, without selection, every one of our current suite of laws, our society would crash and burn, or at the very least, grind to a complete halt.

What happens when something we previously couldn’t enforce because we were blind to it, becomes enforceable? The crutch of “can’t” gets taken away, and we’re forced to accept that enforcement is a question of “want”.

If I had to pick a well known example of where our own limited ability served to buffer us from our poor decision making, well…

It would be the tower of Babel.

My guess is that if it’s really that difficult to get airlines to follow a rule, it’s a stupid rule. But more than that, if a high level politician is involved, I’m inclined to be highly skeptical of the “wanting” involved. I suspect the “wanting” has more to do with high level politics than it does with security, freedom, and equality.

Selection Bias

July 17, 2010 under tongueincheek

It’s time to learn why you can’t trust anything on the internet.

Today we’re going to dive into the world of statistics and have a look at Selection Bias. And because we’re talking about the internet, we’re going to demonstrate the principle of selection bias by looking at Blaxploitation films on IMDB.

I’ve listed below the ratings and vote counts of four marvelous examples of the genre.

Film IMDB Rating # of votes
Black Belt Jones 6.0 805
Hot Potato 4.3 81
Three the Hard Way 5.8 246
Black Samson 5.7 94

Looking at these numbers, they don’t look horrible, all things considered. The most popular, Black Belt Jones, weighs the scales at a respectable 6.0 with 805 and five votes. Looks good, huh?

There’s only one problem. Black Belt Jones is *not* a 6.0 film. Trust me, folks (and don’t ask me how I know).

What this 6.0 *really* means is not that the film is a 6.0 film. It means that the dedicated fans of the genre who took the trouble to hunt down this difficult to find, niche film, and who cared enough to vote gave it a six. The people voting on this film are people who are predisposed to like it.

The numbers only get worse from here – 5.8, 5.7, 4.3 – but the really gruesome numbers are the vote counts. Trust me, you don’t want to take the word of those 94 people… they are the wrong 94 people to listen to about this film.

That, in a nutshell, is selection bias. This is why you can’t trust anything on the internet, because *everything* on the internet is heavily subject to selection bias. Well, you can, but…

It means you might wind up watching Black Samson one night.

Party On

July 22, 2009 under technical, thehumancondition

I didn’t know people were doing this stuff. I should have guessed.

To me, these stories illustrate something about the internet.

At work are basic, understandable human forces and fundamental human problems. Kids like to party.

On the one hand, the internet gives us a power that we’ve never had before. An individual can organize an event that draws 4000 people. Who could ever do that before? The cost of stamps alone would be prohibitive.

On the other hand, the internet is completely and utterly hamstrung by our own limitations.

“What do you wanna do?”

“I dunno. What do you wanna do?”

“Beach Party?”

At the same time that a community is faced with a problem that is genuinely new (How do you break up a beach party of 4000 people? We’ve never had that sort of problem before…), it is facing a problem that is really really old.

People in large crowds tend to misbehave – we’ve know about this for a long, long time. Kids like to party.

I know, let’s ban the internet!

Or is the real answer for 4000 parents to create an event – “Keep your young punk home tonight”. On the night, there will be 4000 arguments and 4000 upset teenagers running to their rooms. (Except the modern equivalent of sending a teenager to their room is to confiscate their cell phone – isolation has a new face)

But the arguments would have happened anyway. The good kids will obey and the bad kids will disobey and the police will beak up the fights and life will go on.

The question of “Can we get 4000 people together?” has been answered. Yes we can.

The question of “Can we stop 4000 people from getting together?” has yet to be answered, but it’s almost certainly, “Yes.” (Look kids! I’ve got brownies!)

The question of “How often should we allow 4000 people get together?” is the most interesting question of all. It’s a people question, and it’s difficult to answer, which is why it’s interesting.

The internet is a tool, don’t be one yourself ;-)

Yay! Morality wins :-P

Just another day at the office

April 1, 2009 under technical, thehumancondition

There’s nothing magic about the internet.

It’s nothing more than a reflection of the people on it. Where there is a demand for something, someone will supply it. Minority focused search engines? Pornography? The Bible?The Manga Bible?Mexican Hitmen?

Look at my tag cloud – it’s a reflection of my concerns and interests. Look at my blogroll – it’s a reflection of whose words I read. To some extent, its a reflection of which people I know. If it was well organized, this would be even more true ;-)

Look at corporate websites – they’re a reflection of the corporations which exist, and, by proxy, the people running those companies. At some point, some CEO asked for more green on the front page of site and the result is the hideousness you see. Why so garish? It’s a reflection of someone, somewhere.

Look at special interest forums – reflections of communities and people with common interests.

Look at Facebook (too simple! ;-) ).

What does it say that, when we want to measure the real-world popularity of something, we go to Google to count the search hits?

There’s no magic technology here at the Happy Moron. There’s just a person. Me. I wrote some stuff. I used a computer to post the files to a server somewhere. Oh, and there’s another person. You. (Hi! :D ) You read some stuff I wrote. You used a computer to read the files off the server.

The magic lives in the people. It always has, always will.

When people wonder how great the internet will become (alternatively, how awesome teh intarwebs will be), they often focus on the technology, which is wrong. It’s not a technical issue, it’s a people issue.

How great can people make the internet? Let’s take a look at some of the other great things people made. The Pyramids. Rome. The USA. The Stock Market. Sliced bread. Dill pickles. Cocktail wieners. Mmm… green and black olives, spiced ham, fresh green lettuce with some parsley and sliced cucumbers in the salad…

Part of the problem is that when people set up to make something great, they get distracted and start thinking about food. Or they fight. Or they betray one another. Or go pray. Or… Or… Or…

The internet will never be any greater than the people behind it.

Now here’s an interesting question – how great could God make the internet? Thoughts?

comments: 1 » tags: ,

Mandatory computer education – Botnets

December 22, 2008 under technical

I consider little knowledge in computing to be mandatory. Usually the price of ignorance is bourne by the one who is uniformed.

Botnets are a different kettle of fish. In this case, the price of ignorance is bourne by the public. I think knowing about Botnets (their existance, their fundamental nature, their consequences) is a matter of public duty. Paying your taxes, staying home when you’re contagious, scooping up after your dog… all are fine analogies. Sure, they’re all inconvenient, but most public duty is.

Computer geeks are notorious for their fascination with nifty yet useless things.

“Why are you mucking with that? It doesn’t do anything.”

It’s nifty.”

Computer viruses are possibly the greatest example of useless things which are incredibly nifty. The thrill of writing a computer virus is, “Look what I can do! It’s not very helpful, but it sure is neato!”

Whenever you receive a virus that flashes a red and black message, “Haxxor432 haz pwn3d j00.” you know right away you’ve been hit by a small child who has found something nifty but doesn’t know what to do with it. All in all, these viruses aren’t so dangerous, and they only inconvenience those who get hit by them.

What if there was a virus that was useful? What if it was purely pragmatic, unencumbered by the programmer’s ego? What if it was written by a cynical, sober, and smart adult and was designed to maximize criminal profit? Botnets are computer viruses, all grown up.

We’re now outside the annoying world of unwanted browser pop-ups, unrequested tool-bars, and curiously sluggish computer performance. Real criminals aren’t interested in slowing your computer down to a crawl; they want it nice and fast so they can use it for evil stuff.

So what are Botnets, exactly? Googling for “botnet” serves up a jargon jungle, littered with a few sensationalist news articles. Here’s the best breakdown of botnets I could find.

The basic premise is simple:

  1. Infect a machine (via standard virus/trojan horse/whatever method)
  2. Have that machine converse with a controlling machine that tells it what to do.
  3. Repeat until you have a network of many thousand machines under your control.
  4. If you can’t think of something really evil to do with several thousand computers at your disposal, you’re not trying.

Step four is a little misleading. You don’t have to have any evil ideas yourself. You can rent out your botnet to someone who does have evil ideas. Often it’s to a spammer, but take your pick. Do  you want to steal credit card numbers? Passwords? Personal data? How about blackmailing businesses by threatening to take down their websites with a denial of service attack?

USA Today has a decent article on botnets; Bruce Schneier has a wonderful breakdown of a particular botnet.

It used to be a virus I caught inconvenienced me. Now a virus I catch may invisible to me, but results in me spamming all my friends (or worse). If I’m connected to the internet and I don’t take care of my own computer, I’m failing in my public duty.

Beyond the basic setting up of a firewall and anti-virus, I don’t know what the answer is. I don’t think anyone does; but it pays to know something about the pond we swim in.

comments: 0 » tags: ,

Technical people don’t understand

September 14, 2008 under Uncategorized

I say this only because I don’t understand, and because I am (in some respects) a technical person.

All people seem to want to use the internet for is to play stupid little coffee break games.

It doesn’t make any sense. Here we have a global communications medium allowing you to connect with like minded, interesting people from pretty near every country on Earth. We have essentially the common knowledge of the world at our fingertips. SETI@Home indicates that if you bother to harness it, you can have as much computing power as you would ever care to use.

And yet… coffee break games. And magazine quizzes.

People do this with computers, too. There’s a disconnect between what computers (in particular, computer software) can do and what people strive for. As a software guy, this is frustrating to no end. I want to scream, “Do you know what kind of powerful machine you have sitting at your desk? Have you no vision? Have you no imagination? You just want to use it to send pictures of cats to all your friends!

Of course, maybe what frustrates me is that all I want to do is play stupid little coffee-break games. Technical people are no different; our games are just slightly geekier and perhaps a tad more complicated.

But whenever a person with a computer and a vision comes along… watch out! They’re dangerous

comments: 1 » tags:

It’s time to ban the internet

August 2, 2008 under technical

Today I wrote a piece of evil code.

Now, I’ve been known to write shoddy code, buggy code, broken code and naive code, but this was none of these. It was thought out, tested, worked as advertised and was reasonably complicated.

For the record:

//This is a block of evil code that ignores good programming style and design and will cause future programmers headaches.

//The code accesses the private member of a class, breaking encapsulation for the sake of convenience.

Class myClass = someoneElsesObject.getClass();
Field privateDoNotTouchField = myClass.getDeclaredField("doNotTouch");
privateDoNotTouchField.setAccessible(true);
Object myValue = privateDoNotTouchField.get(someoneElsesObject);
privateDoNotTouchField.setAccessible(false);
MyRealObject mro = (MyRealObject)myValue;

Evil code, yes… but not particularly unique. This code can be found without much difficulty, scattered all over the internet. In fact, after I had written it, the comment I received from a colleague was, “Did you use that reflexive technique for accessing private members that’s scattered all over the internet?”

Yes, yes I did. And so, I’ll wager, have many other people. This is why we must ban the internet. It is an example of a larger situation which itself is indicative of a greater problem.

If you throw “<programming language X> tutorial” into google, you will be inundated with millions of pages that have to do with learning language X. You will find many many tutorials that do indeed teach you how to program in language X. You may even read these tutorials and learn how to program language X.

And then you will go write evil code of the approximate quality above. Or worse. You can learn how to write C code without ever learning about a buffer overflow; you can learn to set up a website without ever learning about SQL Injection and XSS attacks.

Why? Because you learned from the internet. The internet is remarkably good at providing you with information, but remarkably poor at telling you which information is relevant, helpful, and worth knowing. The catch-22 here is that if you are learning something on the internet, you don’t know anything about it. That’s why you’re learning it.

You are floundering at the mercy of whatever google serves up, good or bad. If it’s bad, you won’t know, because you aren’t qualified to figure that out.

To put it another way,

THE INTERNET ALLOWS YOU TO BE FULLY INFORMED, ON A SUBJECT YOU KNOW NOTHING ABOUT.

Lets ban it. Ban it now, I say. This is why I hate computers.

Let’s ban the internet

July 12, 2008 under Uncategorized

because of this.

It certainly sounds like a movie plot: hiring an Mexican hit-man over the internet. But there’s a dark and sinister truth at play here…

If you die at the hands an internet Mexican hit-man, you die for real…

The dark and sinister truth is that no matter how you try to ham it up, there’s nothing funny about killing for hire or murdering the innocent.

What is shocking is that it happens on my internet, the one with homestarrunner and slashdot and the happy moron. That happy meme-filled place that connects me to my friends and that provides me with all the technical information I’ll ever need at my job. There aren’t any real dark corners on the internet; homestarrunner and a contract killer are neighbors. They’re a world apart in philosophy, but they’re only a click removed in a browser.

What we all want, of course, is an internet where the bad people aren’t allowed to join. The problem with this is that the internet is a global network. Across the globe, there is a great deal of disagreement as to who the bad people are.

The internet’s greatest strength is that it connects you with everyone else. The internet’s greatest weakness is that it connects you with everyone else. You have a global pool of buyers for your ebay auction, but you’re forever scouring peoples rankings to see if they’re trustworthy.

The fundamental problem is authenticating people as good people or bad people, sifting the wheat from the chaff. More generally, it’s a problem of distinguishing the people you want to be connected with from the people you don’t want to be connected with. Every single forum, store, social networking website or blog suffers from this problem.

The greatest kick in the teeth is that even if you solve this problem, you haven’t removed the bad people from the internet. You’ve just hidden them. Additionally, you’ve empowered them, because if you can hide your blog from the bad people, the bad people can use your approach to hide their blog from the police.

Ultimately the problem is that the internet reflects the kind of people we are. The reason Mexican hit-men advertise online is because there are people who willing (and wanting) to hire them.

You can’t get rid of the bad people, we are the bad people.