Imaginary Usefulness

Few subjects frustrate me faster than mathematics. Math is an essential skill and a useful tool. But our school systems, secondary and primary both, totally fail to teach common sense along with it.

I’m constantly amazed at how many smart people are made stupid by an extensive education in Mathematics. Mostly this is because math is taught more as theory than applied science… especially in primary education. Through high-school most people learn a crap-ton of math theory and mechanics.  But there just aren’t many classes taught that apply math in a useful way. 

This leads to the question eventually asked in every math class, “when will I ever need to use this in the real world”. For higher math, anything above basic Algebra, the answer for most people is “probably never”.

That aside, the mechanics and theory still need to be taught so as to give students the possibility of going into a career where they could actually use higher math. A basic familiarity with more advanced math is useful to a sorta degree, but much more useful would be classes on the applied uses of math… classes that show how and when math is useful.  But what I’d like to see taught most is common sense.

For example, in my 10th grade Algebra II class we spent about three straight weeks going over imaginary numbers. Ok, let me get this straight… due to the practical limitations of the universe this math cannot be done. But if you ignore that little rule, you can still use the mechanics of our math system and generate numbers that have no meaning… they are imaginary.

Umm… excuse me, but shouldn’t that be the fucking end of the lesson?!?!?  But NOOOOoooo!  After that we had to spend weeks working math problems that result in imaginary numbers. Then we had tests on how accurately we could solve these problems.

So, we are going to be tested on our ability to come up with accurate answers to a math problem where both the question and the answer have absolutely no meaning at all?

Why can’t I just answer “turd-jam” for all the questions and still get credit? After all, “turd-jam” has just as much meaning in context with the questions as the actual numerical “answer” would… and in 10th grade it would have at least been funny, which is more useful than any other answer I might have derived. This is a classic example of the failure to apply common sense in math. As far as I can tell, the first major failure to teach common sense in math starts when they teach you the concept of negative numbers.  Numbers measure quantity. That’s fucking it… Quantity. The real usefulness of any math is in the question “quantity of what?” 

The only non-intuitive thing about quantity is the concept of zero, but this is fairly easy to explain to kids. Once zero is understood is becomes common sense. Zero also becomes the only non-positive number that remains meaningful. 

But negative numbers are NOT real. They cannot, and do not actually exist. If you solve a math problem, and the result is a negative number then all you have learned is that problem is flawed, you have incomplete information, and/or the number you produced is not a valid measure of anything that exists in the same context as the original question. Since the basis of the question was wrong, any number you derive no longer has any meaning and you should stop right there. If you continue with negative numbers then you are either just making shit up, or you are measuring something in a different context than the context assumed in the original question…. and you had better have a damned good idea what the new context of your answer is, or you are screwed! 

But they never teach that concept in school.

Let us use a practical example.

You own an appliance company. You have 1refrigerator in stock. A customer comes in and buys 4 refrigerators. How many refrigerators do you have left in stock?

If you answered negative three (-3), then just kill yourself now.

In-stock means “physically sitting in your warehouse”. If you walk back to the warehouse, I can only guarantee one thing… you, the fuck, will not see negative three refrigerators sitting back there.  The only meaningful answer to this question is “unknown”. How many refrigerators you have in stock after selling 4 of them depends on if you gave the customer the one fridge you had already, or if you are waiting to deliver all 4 fridges after your vendor deliveres them to you. The original problem contains insufficient information. When you walk back there, you will either see zero or one fridge in your warehouse… So when you see -3 in your answer, what it really means is that you are measuring the wrong thing. You don’t have -3 of anything. You may have +3 of something else, like refrigerators you need to order from a vendor, but that number is valid only in a different context, and only when the new context makes that number a positive number or zero. 

Which brings us back to imaginary numbers. How surprising is it that it is impossible to perform some mathematical operations when you are using numbers that simply mean you are working with values from a different context than the one your math problem represents? In the case of imaginary numbers you are working with numbers from a context that cannot exist at all, so you should just give the fuck up right there, rethink your math problem so that it addresses a real question in a meaningful context.

I see this junk all the time in programming. I get requests like, “I need a report that shows the number of brain cells left in my head”.

Sorry… but that report results in negative numbers and therefore has no useful meaning.

Why not ask a different question like “how many brain cells will I need to have implanted before I regain the ability to chew gum and walk at the same time?”.   Any math should answer a question in such a way that the answer has some useful meaning. If you are coding with negative numbers then your code measures the wrong thing. Flip something around so you are measuring things that exist. Your code will be easier to understand and will produce results that have more meaning.

With math, please always use common sense. Mechanics are neat, but you have to understand the “why” of your math, not just the “how”. That is especially true when you are making up math that gives answers that other people have to interpret.

World of Warcraft Idea

Though I game far less than I once did, I do play World of Warcraft. Not so much because it is the best game evar or anything (it is pretty good though), but more because there aren’t any better out there that don’t require massive and continuous commitments for my time.

One thing I always wondered though is why more games didn’t learn from the old Jumpgate MOG (I refuse to use the longer acronyms, so MOG is Massive Online Game… that’s as  much hype as you’ll get from me). Like most games, especially MOGs, Jumpgate started a web site long before the game released. But from the start one thing really stood out about their web site. The site was linked very deeply into the actual game (in beta at the time). You could look up who was online, where, what they were doing, see statistics, and even manage your in game character a little.

Where the fuck is that feature in every game released since then? Jumpgate is years and years old… I don’t even know how old. And it had deep integration with their game database back then.

What I’d love to see is WoW implement a way to actually log into the web site and see your character info, spend your talent points, talk to in game players (at least ones in your guild), and most of all… monitor and participate in the auction house. Man I’d love to be able to watch the AH for those rare items from work without having to actually log into the game itself (which is a sure way for the boss to know you aren’t working :P).

Anyway… I do hope future games take some Qs from Jumpgate. Make your web site PART of the game… not just a bullshit marketing ad.

Pirate Who?

One of my favorite bloggers sums up my own recent acts of piracy in a post titled: Doctor Who, the BBC, the Rest of the World, and Bittorrent 

I have been increasingly annoyed by the practice of broadcasters releasing TV shows or movies in one part of the world long before they come out in another. Or in the case of Doctor Who (one of my all-time-favorites) the fact that it doesn’t air in my own country at ALL!

And what really chaps my ass is that there aren’t any plans for the show to be distributed in the U.S.Aanytime in the foreseeable future… and please don’t even get me started on the region encoded DVDs that make it super annoying to buy the show so I can watch it legally.

But there is a REAL proposal for a workable solution to the issues of digital piracy and media distribution in this two part article titled “Piracy is Good?” (part 1 and part 2). This article is aimed primarily at the most threatened of all of the traditional media productions; broadcast TV, but the solution would apply well to any video media distribution.

This is a truly amazing piece, that explains the existing problem that all forms of TV currently face. But most importantly, it proposes real solutions that will work. 

I hate your wiki!

I fucking hate your wiki! I’m serious. It makes me want to gouge my eyes out with a cheese grater.

The basic idea of Wiki is that you can slap up a site devoted to some topic, and then anyone interested in the site can post content. Users are encouraged to edit other user’s content to make corrections, expand on the subject, ask questions, or whatever. The result of a well implemented wiki should be a living library of constantly evolving data with a community of people working together to maintain and grow it.

Technologically, a wiki is just a simple content management and publication system. It combines etiquette guidelines with simple text formatting rules to make authoring content as simple as possible. The concept is based on the idea of implementing “the simplest thing that can still work”, a design principle from extreme programming. The etiquette rules are easy to follow for any reasonably mature person. And most wiki systems maintain a version history of each page so you can see what has been changed (and sometimes even who made the changes).

There are many different wiki sites on all kinds of topics (including a massive encyclopedia project), but in actual practice most wiki sites are devoted to software projects. Wiki is especially popular with open source projects where the wiki acts as open source documentation. It is expected that the people that write code for the app will add to the wiki too. Users of the software are also asked to contribute to the wiki if they have insights that other users may find useful. Since I’m a developer, this is where I personally run into wiki sites most frequently.

The geek in me loves the simple elegance of wiki, and I’m a big fan of collaborative works and online communities too. But I have come to loath all things Wiki. The phrase “have you checked the Wiki?” makes me want to vomit.

No, I didn’t check the fucking wiki!

The reason I didn’t check the wiki is because the wiki sucks! It is a giant garbage heap of trivial shit that anyone who can spell “wiki” already knows. The answer to my question, if one of your lazy wikizens even bothered to add it to the wiki, is buried so deep in the tangled mess of irrelevant and obvious junk that it’d take me longer to find my answer than it would take me to correct every spelling error on the entire site. If I do find something vaguely like what I am looking for, it’ll be based on a version of the software so old that the information will not be useful to anyone still alive. Of course, there will be a note by one of the developers related to the new version, but the note will be in indecipherable indian-pseudo-engrish. In an act of desperation, I’ll try to follow one of the links to an external site only to find that the site was recently bought out by pumpkinfuckers.com where someone wants to hook me up with some horny house-wives and sell me Russian vioxx.

It’s about this time that I reach for the cheese grater.

There seems to be one overriding (unwritten) rule in wiki-land. Every useful piece of content in the wiki must have an evil twin page. It works like this. I’ll be snooping the wiki for information about some aspect of some software. I’ll come across a page with good info. This page will have nothing to do with my immediate question. Two days later, I’ll have a new problem and need to find that good page again. I KNOW the answer is on the wiki because I’ve seen it before. But a search, no matter how carefully crafted, will only turn up the evil twin page. The evil twin will have a simple bullet list of summary trivia almost but not quite related to my investigation. It’ll also have 900 links to other pages in the wiki and a few vioxx-sponcered external links. But NOT ONE of those links will lead to the good page I’m looking for. Every other page in the wiki that references the topic will link to the evil twin page… except ONE… and that one page with the magic link will be the page in the wiki most unrelated to my question.

It is also a rule that every wiki has to devote 1/2 or more of the links to other sites that explain what a wiki is about. These sites are written by permanent residents of wonderland, who write prettily yet manage to miserably fail to explain the concept of wiki. These “about wiki” pages will all make wiki sound like some sort of deity, and that any involvement in wiki is a religious cult affair (this may be true). No where in these pages will anything about wiki actually make coherent sense.

There are a few other unpublished wiki rules:

  • The most well documented topics on the wiki must be devoted to explaining the most obvious and mundane aspect.
     
  • Any commonly asked about topic must have no less than 10 different pages explaining the topic in great detail, but every single one of them must provide completely contradictory information or be so outdated as to simply be misleading or confusing. You should also throw in a couple of pages on the topic that provide no useful information at all. This can be achieved by visiting a Denny’s about 5am on Friday night and collecting napkins with drunken scribbles all over them. Just post the contents of the napkins and make sure as many pages as possible sneak in a link to the drunken-dumb-dumb page.
     
  • You must link to the same page every time the name of the page is used, the author of the page is mentioned, or the content of that page is even hinted at. That way a page containing only five different links will appear to be an index for the library of congress. This will scare off most people before they truly comprehend just how damned useless your wiki is.
     
  • You must avoid useful navigation at all costs.
     
  • You must make sure that anyone moderating the site removes all content that is relevant within 1 day of posting. This is to make sure that any helpful contributor feels unwelcome and never posts again. Be sure you email the contributor and explain how their post was inappropriate (make up a reason). This is especially important for software wikis since it will spare the pride of your programmers by ensuring that they remain the most informative of your site’s contributors even though they stopped updating the wiki 5 minutes after it was put online and have long since forgotten it was there.
     
  • You must enlist the aid of at least one user who always posts something that starts like this: “I disagree with this because…” This user must update every page in the wiki, several times if necessary, so as to argue against any point previously made by another user. This user’s posts must be condescending, irrelevant, and argue the most minute and irrelevant detail possible. This user should, if possible, be completely ignorant of the topic under discussion and constantly refer to open source, Linux, and must refer to Microsoft as M$.
       
  • It is most useful to have a very pretty front page on the wiki with a nice clean and professional layout and design, but completely random layouts and color schemes on the rest of the pages in the site.
     
  • You must make absolutely sure that you have a completely different menu and navigation system from any other wiki ever made. If your navigation fails to resemble any previously encountered anywhere on the internet then you get bonus points. Also, make sure the words and phrases used in any navigation system are the most obscure synonyms possible.
     
  • Any search feature of the wiki must omit all of the useful content pages. It must also omit at least 30% of the evil twin pages just in case one of them accidentally links to a page someone would want to read. Don’t worry about Google… Google’s spiders will get so frustrated trying to navigate around your twisted redundant-link infested wiki that it’ll give up long before it actually makes it to a page with useful content.

And that is why I hate, hate, HATE  your piece-of-shit wiki!

Where is my cheese grater?

Got ’em with a fax-back!

So, Caress tells me a story today about how her co-workers don’t trust her. For background, she works at a security alarm company. For security reasons I can’t name the company, lets just say it is a pretty big security franchise that rhymes with steamroll if you get really drunk.

Anyway, it fell on Caress’s shoulders to order new electronic door passes for a customer. To do this she had to contact the parent office in a nearby city and have them make the passes and send them to her. She also asked for a list of the new pass codes (numbers) and who each code was to be assigned to (so she could make sure the right people get the right pass).

One employee at the parent office who we’ll simply call Ms. Bee took Caress’s issue, and then faxed her the requested list of codes.

Later another person at the parent office, who we’ll call Jewel, came to the conclusion that Caress shouldn’t be allowed access to those codes because she isn’t certified in North Carolina (where the parent office is located).

Never mind that Caress is certified in South Carolina where her office and the customer are both located. These details are not directly relevant to the story.

So… anyway, Jewel calls Caress up and says something very much like this:

“You shouldn’t have those codes, so I’m going to have to ask you to fax them back to me.”

Of course, Caress must not have been on her game today because her reply was:

“I’m going to make a copy first”

DRM doesn’t whip the Llama’s ass

I recently had occasion to deal with a DRM protected music file.

Now, I personally make it a policy not to purchase DRM protected content as a general rule. It isn’t because I want to be able to copy a song and give it out to millions of people for free, nor because I object to big brother watching over my shoulder to see if I have “permission“ to do what I’m doing (though that does bother me quite a lot). It’s mostly just because DRM protected files don’t give me what I want.

When I buy music, I want to be able to play it on any device, anywhere, without having to jump through hoops and ask the person who supposedly “sold” it to me if I might copy it to a CD or to my portable music player, pretty please! I also don’t want to have to bother with copying a single instance of a song out and back from one device to another each time that I want to listen to it on another player like some DRM schemes require. I want to have a copy on each player I might possibly use and be done with it. And I really don’t like the way current DRM schemes allow some record company the right to change what I’m allowed to do anytime they wish, with my computer just blindly going along with whatever they decide.

So… Fuck DRM, that’s what I say!

And come to think of it, this notion that I didn’t really “buy“ the music, that I just paid for a “license“ to listen to it… that’s total horse-shit too! I paid for a copy of the song. The way I see it, I own that copy. I don’t so much care that the law doesn’t see it that way, that’s how I see it. It’s my fucking CD, WMA, or MP3 that I paid for so if I want to copy it, translate it into another format, or jam it up my ass sideways; well, that’s my business. Sure, it is illegal to give copies to all my friends, but if I choose to do that and get caught you can come and sue me for it. That’s fine. But what I can’t stomach is when the record companies set it up so that that *my* computer is supposed to stop me from copying music just because I *might* break a law. Or even worse, expect that my computer should inform the authorities if and when I do decide to break a law.

I’ll tell you what! I’ll license you this dollar in exchange for you licensing me that song. But under the terms of my license, you may not give or loan the dollar to anyone else, nor can you exchange the dollar for another currency. And while I’m at it, you have to ask me before you transfer that dollar from one bank account to another so that I can make sure you aren’t doing something I don’t like with my dollar, like gaining interest on it (the closest money equivalent to copying). And I also reserve the right to change what you are allowed to do with my dollar whenever I want to, or I can revoke your license to my dollar at any time for any reason at all, at which time you must destroy the dollar or return it to me. That sounds fair doesn’t it?

But anyway, about the file… Kelly decided to buy from an online music store. She did this because the artist that wrote this one song doesn’t write anything else anyone could possibly want to bother with (and I’m not too sure about this particular song either), so purchasing the entire CD was a bit expensive when you can just buy the one song online for under a dollar.

The file is, of course, a DRM protected WMA file.

Ah! A challenge!

I might not like the song that much, and I certainly didn’t want a copy on my own system, but  I decided  that I was going to circumvent the copy protection in direct violation of the DMCA (sue me!) so that I can exercise Kelly’s fair use rights (if they still exist) and copy the song as an MP3 file.

Of course I had no idea how to do this, me having no experience with DRM files and all, but I expected a quick google search would turn up a ripper in no time. This turned out to be a lot more difficult than I would have thought. There were a couple of commercial products that people on several forms claimed would do the trick. However, in most of these same forums, other people claimed that the product didn’t work, or only worked with older DRM formats. I wasn’t feeling like wasting $20 – $100 per application just to see if it might rip the $1 file I had. Most people in the forums suggested just playing the WMA file and using the sound card to re-record it in anther format. This sounded bothersome to me and I lacked the proper software for this option; besides many people indicated that this option often results in noticeable loss of quality.

Eventually though, I came across a particularly interesting forum where a user pointed out that the popular MP3 player Winamp could be used to convert the WMA into a standard WAV file (which of course then means that it would be trivial to convert the WAV to an MP3 later). Surprise! Winamp does have a way to do this. All you have to do is go into Winamp’s options –> preferences, then go to the Output section and select the Nullsoft disk writer plug-in. After that, when you play the song in Winamp, instead of playing in the speakers, it plays the file into a WAV file that it jams a copy onto your hard drive. It is a slow process, and you can’t hear the song while it is being played into a file… but it works great! I’m sure it wasn’t the intended use of this feature to violate the DMCA by allowing Winamp to violate DRM (considering the feature is older than most DRM schemes anyway), but I’m glad it does so. Sure beats playing inspector gadget looking for a ripper.

Special Delivery!

To Stonesthrow Apartments, Property Management:

Regarding your policy requiring written notice prior to receiving any package from a public shipping courier or the US Postal service: Terrorism via public shipping has usually targeted only very important places or people. Stonesthrow apartments is not an important place. None of your residents are important people likely to attract the attention of a terrorist. The likelihood of a terrorist attack at Stonesthrow via public delivery services is significantly lower than the likelihood of one of your residents busting into your office and shooting everyone in anger because one of their important packages was not delivered due to nonsensical bureaucratic paranoia.

Thank you,

Stephen M. Redd,
Resident