Crack Detection

I was reading a blog about a guy’s application that got cracked. He thought he was losing sales due to cracked versions of his app being distributed on torrents. Whether that is an accurate depiction of reality is not of concern to me right now. I was more interested in his desire to get back at the crackers. His rage was understandable. His methods were of great interest.

First this software author decided to be able to detect a cracked version. He decided to make his applications “phone home” over the Internet. They would use some type of public/private key encryption to make sure he knew it was his applications. Each app he sold would have some unique keys. Once he found the same key phone home from all over the place, he could assume that people were stealing his software.

Here was the big decision. What was he to do when the software detected unauthorized use? Some say he should just make his app behave poorly. If people think his app is no good, they will not use it. That might defeat the purpose of marketing though. He did not want to be known to legitimate buyers as making shoddy software. That’s when the evil plan clicked in his head.

The app could do evil thing to the target computer once it detected that it had been cracked. There was a world of bad things he could do. After all, the guy is a programmer. His disgust at losing cash due to being cracked would drive him on. His goal would be to do the most evil before the user who stole his software knew what hit him. Alas. This fellow programmer had crossed over to the dark side.

It was time to redirect the energy into future improvement to his program. It was time to refocus on the original goal of solving legitimate user problems, and in the process making cash. I still liked the sound of this developer laughing the mad scientist laugh while he worked on code to hack the machines of thieves. And no, this evil programmer is not me. I don’t have any software for sale that someone can crack. I give all my stuff away for free anyway.

Virtual Girlfriend

I just finished skimming a book on artificial intelligence. It was written for novices. There was a lot of great information in there. One conclusion was that there are commercial applications for AI in the sex industry. Thus I decided to try out a virtual girlfriend.

One of the first hits on Google for a virtual girlfriend was Kari. I downloaded a trial version. You get to run it three times. I tried to figure out how to bypass this. A data file had a "Run Times" parameter. That was not the trick.

Here is the funny thing. This AI bot is supposed to learn how to deal with you. But I found her more stupid than your average real life bimbo. Here is some of the conversations I had with Kari. I swear that I am not making this up.

Black: How big are you boobs?
Kari: Am I ticklish?

Black: What is 1 + 1?
Kari: I am not much of a girlfriend.

Black: Your voice sounds fake.
Kari: Damn girl.

Black: How can I hack you to run more?
Kari: God damn.

After this severe lack of coherence, I almost want to code up my own virtual girl. Yes it is a monumental task. But I got to be able to produce something a little smarted than this waste of memory. I will share what I come up with. In the mean time I recommend you avoid Kari. She might make you dumber.

256 Byte Mastery

Today I read a story about a programmer who wrote an Assembly language program in only 256 bytes. It produces a morphing 3-D world. You got to see this to believe it.

I have heard about cool programs that fit in 4k of memory. But a hot prog that runs in only 256 bytes of code? That is wicked. The program name is Puls. And it was written by Rrrola.