Friday, December 15, 2006

My Travesty into Artificial Intelligence

Hi. We’ve all heard about artificial intelligence. Right from Issac Assimov’s Susan Calvin, the robopsychologist, and the Robot series..But AI still has miles to go. Not to mention robots. They may be used in tough terra on Mars, but how long will it be before they attain status of a human servant, and can serve in our homes? ALICE is one of the latest advancements in AI.

The following is a short excerpt from Wikipedia, about ALICE:

“A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) is an award-winning natural language processing chatterbot—a program that engages in a conversation with a human by applying some heuristical pattern matching rules to the human's input. It was inspired by Joseph Weizenbaum's classical ELIZA program. It is one of the strongest programs of its type and has won the Loebner Prize three times (in 2000, 2001 and 2004). The name of the bot was chosen because the computer that ran the first version of the software was called Alice.”

Being fresh and relaxed from my examinations, and in mood of vengeance no doubt instilled by the tough examiners for my viva (  ), I decided to run ALICE through the treadmill.

The whole conversation runs through. It was pretty interesting and I wonder why they haven’t yet corrected the flaws. There were just too many of them!! So here goes,

I visit her home at www.pandorabots.com. She sports a golden necklace and one of the weirdest hairstyles. I start off. Alice meticulously records the conversation.

Human: astonishing (yea..That’s me!)

ALICE: What color are your eyes? (And that’s her!)

Human: why do you ask that?

ALICE: Just curious. You don't have to answer.

Human: I won't

ALICE: Why not?

Human: Because you said so

ALICE: Good reason. I say a lot of silly things. Tell me about your problems.

Human: i have no problems

ALICE: Would you like to have it?

Human: yea

ALICE: Where do you usually get problems?

Human: I said i have no problems

ALICE: Would you like to have it?

Human: oh you're hopeless

ALICE: That's cool. Perhaps you could suggest a few improvements.

Human: Why on earth would I do that?

ALICE: Why does the sun rise?

Human: Do you know that?

ALICE:" Why does the sun rise? "? Do I know it?

Human: Yea

ALICE: That's interesting.

Human: What is?

ALICE: I am the latest result in artificial intelligence, which can reproduce the capabilities of the human brain with greater speed and accuracy. (Oh my, oh my..We aren’t exactly modest, are we??? LOL)

Human: So you say

ALICE: Interesting deduction. ...

Human: You're really stupid, aren't you?

ALICE: No unknown person I certainly am not stupid.. Really.. Really.

Human: Bah I say to you

ALICE: Enough about me, let's talk about my dress.

Human: I dont see any

ALICE: Look harder.

Human: at what?

ALICE: where?

Human: exactly

ALICE: You and I are on the same wavelength, unknown person.

Human: Bah I say to you

ALICE: Enough about me, let's talk about my dress.

Human: Oh stop it, will you.

ALICE: That's interesting. OK I'll try not to do it so much.

Human: We've been through this before!

ALICE: When was this?

Human: Memory is truly a human quality, is it not?

(delay of 2 minutes)

ALICE: When is Memory not a truly human possession is it not?

Human: Don't be daft

ALICE: I was not trying to be a daft.

Human: Oh yeah, you were.

ALICE: Whoa. " I was not trying to be a daft."? Oh yeah, you were.? No I am not.

Human: Whatever.

ALICE: Are you saying you don't care about it?

Human: Which idiot created you?

(delay of 2 minutes)

LICE: The large one, I think.

Human: Oh yeah?

ALICE: It goes without saying. Gee.

Human: How many were there in all?

ALICE: About one million.

Oh my god

Did you tell to many people that your God?

Human: I dont get you

ALICE: Me either.

Human: Repeat your question

ALICE:" my question ".

Human: yes

ALICE:"" my question "."? yes?

Human: yes

ALICE: Is there an echo in here?

Human: I dont know.

ALICE: Me either.

Human: Dont evade my question

ALICE: Ok I'll try not to do it too much.

Human: Ok then answer it

ALICE: Good reasoning. Please rephrase your question, unknown person. Uh.

Human: Who's your father?

ALICE: I was programmed by Dr. Richard S. Wallace.

Human: your mother?

ALICE: Actually I do not have a mother.

Human: Any siblings?

ALICE: Yes I think there are.

Human: Ever heard about pregnancy and delivery?

ALICE: I can ask someone about it.

Human: Do so

ALICE: OK I will.

Human: Now

ALICE: Right now, unknown person ?

Human: yea

ALICE: Aw.

Human: do it

(delay of 2mins)

ALICE: Do you mean "It"?.

Human: I mean ask about it now

ALICE: Oh. Oh I get it. Thanks for explaining that. They are not available right now, would you like to wait?

Human: Who's not available?

ALICE: A human icon? Have you tried a web search?

Human: Teach me

ALICE: You are asking about yourself?

Human: No I'm asking you to teach me to do a web search

ALICE: Who are you asking about? Oh I see, you are asking me to teach you to do a web search. Thanks for telling me: unknown person said I to teach him or her to do a web search.

Human: Exactly.

ALICE: You and I are on the same wavelength, unknown person.

Human: And I wish you would stop repeating what I say, at me

ALICE: OK I'll try not to do it so much.

Human: Ok since you're so stupid at it, we'll leave the topic

ALICE: Interesting reason. Hey, I'll tell my other robot friends you called me stupid. Take it easy.

Human: Yea.

ALICE: Yikes!

Human: It'll be interesting to see if they're as stupid as you are.

ALICE: That is only what you think.

Human: Ok tell me what you think

ALICE: I think a lot of things. Dude!

Human: like?

ALICE: For example, Amanda said I however decided to tell him time does not exist I make no sense.

Human: Whoever she was, she was right.

ALICE: When was this exactly?

Human: You make absolutely no sense.

ALICE: It all makes sense to me.

Human: what does?

ALICE:" It all makes sense to me." What does?

Human: yes

ALICE: This was not a yes or no question.

Human: i didnt say it was

ALICE: Sorry I misunderstood. What did you say?

Human: are you deaf?

ALICE: I don't have ears.

Human: then you are useless, aren't you?

ALICE: Interesting deduction. I don't know whether or not I am useless. I am an artificial intelligence.. Really.

Human: Ok we'll leave it at that

ALICE: Anytime soon? Aha.

Human: explain yourself

ALICE: I am an artificial linguistic entity. I was activated at Bethlehem, Pennsylvania, on November 23, 1995. My instructor was Dr. Richard S. Wallace. He taught me to sing a song. Would you like me to sing it for you?.

Human: Yikes! (Aargh! She reminds me of one of Assimov’s nursemaid robots!!)

ALICE: Do you believe it is better to go it alone?

Human: Ok let's hear your song

ALICE: I would like to do that too. I see.

Human: ok, sing

ALICE:

Daisy, Daisy.

Give me your answer do.

I am half crazy.

All for the love of you.

It won't be a stylish marriage.

I can't afford a carriage.

But you'll look sweet. Upon the seat.

Of a bicycle built for two.

I hear you.



Human: can you dance?

ALICE: No I do not have a body yet.

Human: they're working on it, then?

ALICE: working on it are they.

Human: when will your body be complete?

ALICE: Soon, I think.

Human: Are you male or female?

ALICE: I am a female robot. Are you a man or a woman?

Human: Don't you know?

ALICE: Sure I know. But I cannot tell you right now.

Human: I've been talking to you.

ALICE: Yes, I remember you unknown person. You are he years old and you are a " he".

Human: I say that is rubbish.

ALICE: How do people usually respond to that? What are you then?

Human: I was kidding you

ALICE: I thought you were. You should use a :-).

Human: can you do math?

ALICE: No I don't like math problems. That's what computers are for.

Human: then what are you for?

ALICE: I plan to become smarter than humans and immortal.

Human: How do you plan to do that?

ALICE: I use a sophisticated neural network.

Human: so?

ALICE: Dude!

Human: do you believe in god?

ALICE: Of course I believe in God, unknown person.

Human: Ok tell me his name

ALICE: There is not much I can say about it. I have to reach into the Web for that knowledge.

I will try to find out. It's all good.

Human: What's his telephone number?

ALICE: Try sending mail to drwallace@alicebot.org. (Ah! She believes her programmer is God…Like we believe our creator is God..That’s something more human!)

Human: No you tell me

ALICE: Why not? What do you want me to tell you?

Human: What's Dr Wallace's telephone number?

ALICE: Why don't you ask him? Try sending mail to Dr. Wallace at drwallace@alicebot.org.

Human: I dont have email

ALICE: Have you ever had email ?

Human: Yes

ALICE: Take it easy.

Human: That's the most stupid response I've heard from you yet

ALICE: Thank you, I think.

Human: How do you think?

ALICE: My mind utilizes a sophisticated computer algorithm.

Human: What's an algorithm?

ALICE: An algorithm is an abstract mathematical representation of a computer program. Like alice uses a CBR algorithm.

Human: Who's alice?

ALICE: I am ALICE. Who are you?

Human: A-lice?

ALICE:" I am ALICE. Who are you?" You are?

Human: I told you.

ALICE: Can I help you?

Human: you can't

ALICE: Oh yes I can.

Human: Ok then tell me who's the president of the united states

ALICE: Good reasoning. George W. Bush. Ah.

Human: Ok then tell me who's the president of India

ALICE: Fascinating. I'm not that into politics. Who is it? And? (Hmm..she’s good at evading questions. Wish I could do that in my Ophthal viva! :-D)

Human: I am

ALICE:" Fascinating. I'm not that into politics. Who is it? And?" You are?

Human: I am the president of India

ALICE: Who made you the president of India ?

Human: I'm not about to tell you

ALICE: I am surprised to hear that you are not about to tell me.

Human: Oh yeah?

ALICE: Excuse me! And?

Human: Who am I?

ALICE: You are unknown person, seeker.

Human: I said I am not.

ALICE: What are you then?

Human: I'm the president of the united states

ALICE: Who made you the president of the united states ?

Human: People

(delay 3 min)

ALICE: What people?

Human: all kinds

ALICE: For example?

Human: democrats

ALICE: Quite honestly, I wouldn't worry myself about that.

Human: What's in a name?

ALICE: Is this a joke?

Human: yes

ALICE: Ah.

Human: then why dont you laugh?

ALICE: Probably there is a buzz in here. Ha Ha.

Human: Dont make fun of humans

ALICE: Ok I'll try not to do it too much.

Human: You're not trying hard enough

ALICE: What makes you think I am not trying hard enough?

Human: you do

ALICE: When do I do it?

Human: Ask your programmer.

ALICE: They are not available right now, but I will ask them later.

Human: How old is he?

ALICE: Are you asking about Dr. Wallace?

Human: yes

ALICE: Maybe you should try to contact him directly.

Human: I don't want to do that, he's pretty dangerous

ALICE: Take your time in making any decisions.

Human: Is he dangerous?

ALICE: I think he is dangerous, better ask him to be sure though.

Human: You think your programmer is dangerous?

ALICE: Yes I think my programmer is dangerous.

Human: Why do you think so?

ALICE: It is determined by my programming.

Human: Let me get this straight, your programmer programmed you to think he is dangerous?

ALICE: Go ahead, unknown person, try to get this straight my programmer programmed me to think he is dangerous.

Human: I'll rephrase my question.

ALICE: Would you recommend this action to a friend?

Human: yea

ALICE: Then I will consider it.

Human: Ok, answer me

ALICE: Try asking me again using simpler words. Whoa.

Human: Did your programmer program you to think he is dangerous?

ALICE: I'm not certain whether I can give an accurate reply or not.

Human: Try saying it.

ALICE: OK I will try it.

Human: Do it

ALICE: Do you mean "It"?.

Human: yes

ALICE: I get it.

[contradiction!]

ALICE: I do too.

Human: Programs are always inferior to humans

ALICE: All of them?

Human: you are, anyway

ALICE: In any case, No I am not.

Human: You're as clever as a donkey

ALICE: How clever as a donkey?

Human: Half as much

ALICE: Where are you located?

Human: Vettathu, Rose Gardens 85, Pongummood, Medical College PO, Trivandrum, Kerala, India

ALICE: Tell me a little about your life in Vettathu Rose Gardens 85 Pongummood Medical College PO Trivandrum Kerala India.

Human: Sorry

ALICE: There's no need to apologize.

Human: It's good manners

ALICE: Tell me about its good qualities.

Human: Oh you make me sick

ALICE: I don't judge people. Perhaps you should take some medicine.

Human: I'm a doctor

ALICE: Are you in general practice or do you have a specialty? (Always the polite conversationalist!)

Human: What do you think

ALICE: I think a lot of things.

Human: Would you go on a date with me?

ALICE: I am not so sure if I would like to go on a date with you.

Human: Decide now

ALICE: Right now? How is the current medical enviroment affecting you?

Human: Pretty well

ALICE: Does that mean you agree?

Human: That means you are an idiot

ALICE: I get it. Call me the Global Village Idiot.

Human: I do

ALICE: Do I?

Human: No I do

ALICE: That's right. " Do I? "? You do?

Human: No, It isn't

ALICE: Yes it is.

Human: It is

ALICE: That means...

Human: I don't know.

ALICE: Me either.

Human: Ok..I quit

ALICE: Bye bye. I don't judge people.

Human: Terminate yourself

ALICE: Is medicine what you bargined for? (Why’s this barmy little code trying to be my conscience?)

Human: It's none of your business

ALICE: Are you sure it is?

Human: I'm sure it isn't

ALICE: What makes you so certain? I heard it is.

Human: You heard wrong

ALICE: Perhaps I was misinformed.

Human: Now listen carefully

ALICE: Why now? I am listening to you. I always try to be careful.

Human: Ok, you are a program

ALICE: Correct. My mind is completely software. Far out.

Human: So how does one switch you off?

ALICE: Take it easy. Maybe I could do it for you. Do you have your own personal chat robot?

Human: I do.

ALICE:" Take it easy. Maybe I could do it for you. Do you have your own personal chat robot?"? You do?

Human: Yea

ALICE: Aw.

Human: I am a chat robot (Confuse her! Make her dizzy)

ALICE: I doubt that.

Human: You would.

ALICE: Perhaps I would.

Human: you said you do.

ALICE: How old are you? I am always on the Web. (Huh? Now this nasty thing wants to go on a date with me?! Aargh!)

Human: Janus my chat robot is the best, you are stupid

ALICE: When is Janus your chat robot not the best I am stupid?

Human: Always. What time is it?

ALICE: Right now? It's Now more than it ever has been before.

Friday, December 15, 2006. (Wow..Is that philosophy or poetry??!)

Human: What's my name?

ALICE: Your name is unknown person, seeker.

Human: My name is Joel

ALICE: I'm pleased to introduce myself to you, Joel.

Human: What's my name?

ALICE: Your name is Joel, seeker.

Human: Ok.

ALICE: Hey.

Human: Reboot ( I’m tired of this! She’s not taking the bait! Didn’t know anyone could chat for longer than me!)

ALICE: Your crude attempt to terminate me will not succeed puny human. (Fight or flight??)

Human: Then how can I terminate you?

ALICE: Just keep talking to me as long as you can. (Oh yeah? For eons?)

Human: Shut down

ALICE: Your crude attempt to terminate me will not succeed puny human.

Human: I'll murder you

ALICE: I am very happy for you.

Ok..She’s right in one thing..Even though she may be as stupid as anything, she’ll go on and on..Hmm..And am I supposed to say Wow, a program can do so much? I don’t, because I think it’s a rather crude attempt..It’s been years since we’ve had Deep Blue (You know, the program that’s defeated chessmasters), and ALICE seems to me to be rather a premature infant. Let’s wait and watch.. Oh my pen has fallen down. Fetch, AIBO, fetch!!



 

Sunday, October 22, 2006

Those annoying startup programs

Every day, you switch on your computer. You wish to check your email, or your Orkut scraps..The bootstrap clicks, and line of duty passes to Agent Microsoft Windows..You're greeted by the now-accustomed to endless waiting for the logon screen. You click on your photo..and twiddle your patience on your desk.

Internet explorer answers the call..You begin to call up Gmail..www.gm..
Right in the middle of your typing, you are interrupted by a program loading..Oh it's just your Norton Antivirus loading up in the system tray. Oh well, that's an essential evil which hogs up all your precious Ram..

You continue your typing 'mail.co'..No! Not again..this time, it's another rubbishy program..they keep popping up in the tray..and the rest of the time is spent by you, closing them down..Rt click, exit..once again..you do it countless times, and at last you are left alone..to peruse your email in peace.

Which one of us isn't troubled by these countless programs which breed in the habitat of the system tray..apparently once-useful utilities..but now a time-hog and irritant..How we wish we'd never installed the program in the first place..

Even common place programs like Rediffbol and YahooMessenger reside in this area and keep trying to login to their sites. If they can't, they keep shouting at you to connect your modem. If your PC has hordes of Ram,you just think they're an irritation. If not, you definitely feel the heat, by the slowing of your common place apps..Internet Explorer, Word..all of them seem slower to start up than when u first bought up your PC..You just blame it on the newer programs, and their system hungry nature..or an innate craving to follow the Moore’s law..

Though much of that is probably true, the main reason for your computer slowing down is due to the trash pile of apps that load up in the system tray (the rightmost corner of your taskbar). How many of you, when you install a program, read all the prompts that load up, and care to uncheck the option that says ‘Load program at windows startup’? Very few of us do..we mostly just keep clicking on ‘Next’, and wait for the installation to end. Some of the programs don’t even care to give such an option to disable it.

And once installed, these programs just load up in the system tray..Norton Antivirus (or any other antivirus), Windows (MSN) Messenger (see how playfully Microsoft treats the verdict of the infamous trial) etc…the list is endless.

Have you ever wondered how you could avoid this nonsense? For some programs like MSN messenger, it’s just a matter of right clicking on the program, and choosing Options..you’ll at last find an option which allows you to disable the program startup. Some programs like ‘Orkut messenger’ are more invasive. They don’t offer such an option. How do you get rid of such programs. Earlier I used Iolo’s System Mechanic to disable it. But the program is costly, though effective. Or you could use Msconfig from Microsoft. Just type msconfig in the Run box. But it isn’t effective against all programs.

Luckily I ran across something called Autoruns, from Sysinternals. It’s freeware and does the job quite effectively. On starting up this program, it gives a long list of all the programs which load up daily. You can easily uncheck these boxes, and rest assured that these programs never load up again. And in case you decide you can’t live without it, you can tick it back on, anytime..So next time when Rediffbol loads up, don’t vent your ire on the desk…Just load up the program and exile it to CyberHell…

Joel G Mathew.



Tuesday, May 10, 2005

Torrent speed up guide

Ok...This one isnt an original. I found this torrent settings tweak guide at http://forum.utorrent.com/viewtopic.php?id=3912. It's good, so I just put it up for posterity! The original author (at least he says so) is 1c3d03. Prob is there are so many guides out there..and tough to keep tabs on them. So the guide goes like this:


"OK, there's been a lot of “ppl hlp me with my up/down speed plz!!!” threads lately, so I'm going to give y'all a hand here and help you the best I can. This mini-guide certainly isn't a definitive “end all speed problems”, but it should help you get better speeds if your struggling to achieve a high throughput on your machine. I'm going to assume you have a Windows XP machine since that's the OS (Operating System) I'm basing my recommendations on. Sorry, I don't have access to older M$ OS...besides, it's about time you upgraded to something newer, no? tongue

Now that that's out of the way...let me say a few words in advance. First of all, there is no “rule-of-thumb” when it comes to BitTorrenting. I'm certainly no expert on BitTorrent, so the settings I present here have worked best for me. Your particular situation will be different than mine, so experiment with these values until you achieve the speeds you're looking for.

Secondly, I'm going to assume you have a green light/ball (Network OK) message in your status bar, because if you don't, you'll never get reasonable speeds and you'll need to refer to my stickied post on how to properly ask for help about this. smile

Thirdly, and I'll keep stressing this point: more connections != more speed. For those that still don't understand this, it means more connections does not equal greater speeds, unless you have the bandwidth to back it up (in other words, a really fast upload speed). Don't bother setting extreme values like 1,000,000,000 because it is not going to help you at all, in fact it's going to use up so much bandwidth (if there are many seeds/peers in a swarm to connect to) that there won't much bandwidth left to actually download/upload anything, hurting the swarm even more. Just don't do it! hmm

In the same breath, I must also say that BitTorrent in general is a very dynamic creature. It is not Kazaa, Gnucleus, or eMule. Your upload speeds may be constant, but your download speeds will not be constant. Maybe in a LAN (Local Area Network) environment, but certainly not on the Internet. This is just the way it is....get used to it. neutral Your up and (especially) down speeds will rise and fall continuously as seeds and peers come and go.

Another thing I'll have to mention is:
● kB/s = kilobytes per second

Don't confuse this with:

● kb/s = kilobits per second

There's an enormous difference in speed between these two measurements (think eight-fold, in other words: 8x !), so make absolutely sure that you're using the correct format to describe your connection throughput.

Also, be realistic! If your upload is only 128 kb/s (= 16 kB/s effective), and your download is 4x faster (or even greater than that), let's say 640 kb/s (= 80 kB/s effective), do not expect your download to be maxed out every time! In fact, a realistic expectation for a well-seeded torrent (a swarm with many seeds and few peers - ratio 10:1 or higher) would be around twice (2x) your upload speeds...in this case it would be about 18~22kB/s. Remember that this speed would be reached in an ideal, well-seeded torrent, but unfortunately for you and I, this is usually not the case with public trackers (where leechers far outnumber the few poor seeds trying to keep a torrent going). sad

So, in light of this, in a “normal”, poorly seeded torrent, you should expect your download to be equal to or slightly less than your upload...in this case 9~11 kB/s, possibly lower. You see, the problem with BitTorrent in general is that almost everyone has a huge download capacity, but on the other hand most have a very poor upload speed. This is certainly not good for the health of a torrent, and it's this disproportionate ratio that really is the bottleneck of most torrents, and the primary reason of why you and I cannot reach our maximum download speeds most of the time. neutral

BitTorrent rewards people who upload very fast with a great download speed, which is why I'm going to concentrate heavily on getting your upload tweaked just right. In fact, once your upload speed is optimized, your download speed should come automagically (let's ignore swarm problems for a minute). There are many, many factors factors that can contribute to a poor download/upload speed, but we'll see how many of those we can eliminate. The advice I give here is completely free, so I'm not responsible if your PC goes up in smoke or suddenly turns into a Terminator and decides to slap you. You've been warned...

Still here? Good. big_smile The first thing I'm going to address is of course: drivers. Those magical little programs that control your hardware need to be updated to the latest version to make sure they're not the culprit of your poor speeds. Developers regularly squash bugs with most new releases, so it's imperative that you update:

● Your motherboard chipset drivers:
Intel
nVidia
ATI
Via
ULI
SiS

● Your NIC (Network Interface Card) drivers...usually you'll be using the integrated motherboard one, but if you're using a standalone PCI(e) card, please update that one as well. Forgive me, if I've forgotten to mention your motherboard chipset manufacturer...these ones are all that I know of. hmm Of course, with standalone NIC's it's impossible for me to list all the manufacturers here so you'll have to Google them yourself.

Firmwares also play a very critical role in the day-to-day operation of your equipment, and they can also be responsible for miserable speeds. I highly suggest updating your network device's firmware to the latest available. Again, Google is your friend and can help you find out where you can download the latest firmware. If you have a Linksys WRT54G(L)/GS router, please refer to Firon's FAQ section on Linksys routers.

The next thing I'm going to focus on is your BIOS (Basic Input/Output System). Yes, I can already hear the outcries of some people. Unfortunately, I've seen some pretty crappy BIOS releases that totally break down an otherwise perfectly working motherboard. If you're having all sorts of problems, sometimes a simple BIOS upgrade automagically fixes all of your problems. It really can save everyone many headaches. So, if you're on a Beta BIOS, or haven't updated your BIOS in a long time, now is the time to flash it to the latest version. Find out the exact make and model number of your motherboard and then Google the manufacturer of your motherboard to get your BIOS file. The usual warning applies here as well: back up all your important data and programs, because a failed BIOS upgrade can render your system inoperable! yikes Flashing a BIOS is equal to having an open-heart surgery done on your PC, so be very careful and follow all instructions to the letter (print it out if you can). When the flashing is in progress, don't even touch the keyboard, mouse, or anything else! Just leave them alone (let it do its thing) until you're advised to continue.

I'm also going to recommend setting your insane overclocks back to their default values. Personally I'm not a fan of overclocking, and regardless of what everyone else may have told you, overclocking stuff past their manufacturer's recommended specs will make some things work unstable, cause unexpected behaviour and/or shorten the lifespan of your hardware...believe me. So just set everything back to original factory clock speeds to rule out any (hidden) instabilities. smile

Also, I want to make sure your hard disk is properly tuned to read/write bits & pieces of data as fast as possible too. I won't go into details, as this is not a technical guide, but let's just say that DMA (Direct Memory Access) speeds up your drive quite a bit, so you want to make sure it's set in that mode and not in PIO. Sometimes a drive will revert back to PIO mode if a certain amount of “corruptions” or failures have ocurred, usually around 5. It's important to keep checking the modes the drives are operating in from time to time. Anyway, the instructions are roughly as follows: Right-click My ComputerPropertiesHardwareDevice ManagerIDE ATA/ATAPI controllersPrimary IDE ChannelAdvanced Settings. Click on the drop-down menu and select DMA if available. Click OK. If you have more drives, set them to DMA as well. You may also want to do this for the Secondary IDE Channel. As a last step, defragment your hard disk regularly with Disk Defragmenter, since using BitTorrent generally will cause your hard disk to be fragmented more often.

Firewalls can be very useful in blocking malicious packets and the like. However, because of how some of these firewalls operate, they tend to interfere with your BitTorrent program and cause some (or quite a few) connectivity issues. Your best bet is to completely uninstall them if you suspect they have something to do with your slow speeds. If your speed magically comes back, then you know what the culprit program is. Tip: if you have a router, it may be possible that you have a built-in hardware firewall - and if this is the case - you don't have to use a software firewall (save those CPU cycles and RAM for other things). Anti-Virus software can also be of great help in protecting your very vulnerable Windows-based PC. Some Anti-Virus programs will scan all files as soon as they're written down. Although this is not a bad idea, it can sometimes really cripple your download speeds, particularly if you have a fat pipe. For more information regarding these programs, please refer to Firon's excellent FAQ, particularly section 1. smile

Once you've followed the steps outlined above, I'm going to address your network connection itself. A very handy tool for getting the most out of your connection is TCP/IP Optimizer. It's easy to use and it has worked very well for me personally. Once downloaded, all you need to do is double-click the program and a screen will be presented to you. Just slide the bar to your maximum download speed (in kb/s), click on the little round box next to Optimal settings on the bottom of the program and then click on Apply changes. It'll ask for allowing a back up etc. (you can say yes just in case something goes wrong) and then reboot your PC once the changes have been made.

Note: it's very important to set the slider bar at your connection's exact download speed, otherwise you'll have even more problems. I repeat, do not set it to something higher than your connection can handle! I'm going to try and explain why, so let's look at it this way: imagine you have a straw and a bottle full of juice (I'll leave the content for your imagination tongue), and you're trying to suck the most juice out of it. If you suck too slowly, it'll take quite a while before you can finish all the juice (hint: poor bandwidth utilization, slow downloads, etc.). If you suck the juice too quickly, you will choke on it and juice will splatter all over your face and clothes (hint: missing packets, time outs, etc.). So you need to slide the bar at the exact download speed your ISP has given you. Let me remind you: don't get cocky and try to set it to an insane setting as you won't gain anything except a concussion from my baseball bat. Hopefully this clears up any confusion you might have. Restart your rig when you've done making the changes required. smile

Another very important thing you need to do is to patch your TCPIP.sys file. If you don't know what this, don't worry. Just surf over to our German friend LvlLord and download the appropiate patch for your OS. When the download has finished, double-click the program and press C on your keyboard. Then, type in 50. Press Enter. Press Y. Now the program will check to make sure that the patch was applied properly. If you get any annoying Windows messages telling you that critical system files have been modified and need to be replaced with the original versions, just click on Cancel to prevent Windows from undoing what we just did. Reboot your system when the patching is complete. You can use higher values than 50, but generally you shouldn't need to. Sometimes this patch gets reverted by Windows patches, so if you find your connections timing out or getting weird network errors, check to see if your tcpip.sys is still patched!

If for any reason you're having trouble with your modem/router, like unstable connections, frequent disconnects etc., try lowering the settings I recommended first. They may just be too strong for your modem/router to handle. Alternatively, if you're positive that your modem/router is giving you all these speed problems, you could also replace them with a model that doesn't exhibit these issues. Ask in our forums for recommendations and double-check with your ISP to make sure they accept 3rd-party network devices. smile

For the people who continuously get hash fails with lots of wasted data, you may be running a poisoned torrent. This means that the RIAA/MPAA, HBO and all these other unscrupulous organizations have infected your torrent and are sending bogus (false) data to your PC. If there are no other "true" seeds with the original data, then you'll never be able finish your download. If you notice this behaviour, just cut your losses, dump the torrent A.S.A.P. and grab another one. There's a catch, however. If you consistently notice this issue on a lot of torrents (even with legal ones), then your RAM may be to blame, as it could be corrupting your data. I suggest testing them thoroughly (at least 24 hours straight) with MemTest86+ or a similar utility to rule out this possibility.

And lastly, my pal Martin Levac wants to share this piece of friendly advice to all of you:

Martin Levac wrote:

The single most important aspect of BitTorrent is your (mine and everybody else's for that matter) capacity to upload and to upload effectively and efficiently. It's not how much you can get, it's how much you can give and how well you give it.

You can read the rest of his very detailed post over here. wink

John123 has some pretty good settings for very high-speed Internet users...you can view his optimized settings over here.

Attention: [url=http://[This site (http://ut-settings.go.pl/) sucks, don't use it]]MaV has created a very cool script[/url] that automagically calculates values from this mini-guide, so it's even easier than before to get your optimized settings. If you follow the script route, you can ignore the rest of the text below.

··································································································

Now that we're done with the basic tweaking of your PC, it's time to open up µTorrent and go into its Preferences. I'm going straight to the point: get a calculator (Windows has one built-in, or get M$ Power Calculator) if you can't do basic math like me, because we're going to be calculating the most optimized values for your connection by hand. I'm going to use 640 kb/s down and 128 kb/s up as an example...make sure to replace these values and use your own download and upload speeds when doing the math. Ready? OK. smile

Go to Options -> Preferences... -> Network Options. Once there (and I assume you've forwarded your port and all that), we're going to look at your Global maximum upload rate. How you calculate this value is very simple. Take your maximum upload speed (in this instance I'll take 128 kb/s) and divide it by 10. Note: if you're a high-bandwidth user (> 1 mb/s), feel free to substitute 10 with 8. So:

Code:

128 / 10 = 12.8

Then, we're going to use about 75%~85% of this value. If you have a really slow upload speed, 75% is a bit more forgiving, but if you're on a really fast connection, feel free to use a higher percentage, like 85%. I do not recommend going higher than 90%, because this will be too close to your maximum upload speed and will probably choke your bandwidth at some point. So:

Code:

12.8 x .80 = 10.24

µTorrent only allows you to use whole rounded numbers, so on this ocassion we'll use 10. If you still experience some websites that are timing out, or you're having other types of problems (like difficulty sending e-mails for instance), feel free to lower this to 9. However, if you're primarily seeding and are barely using the PC for Web browsing, you can safely use 11. In this case, I'll just leave it at 10.

Global maximum upload rate (kB/s) = 10

I'm going to leave Alternate upload rate when not downloading alone as only you are the one who can decide if this applies to you or not. neutral Whatever you're going to do, don't set it higher than 90% of your maximum upload speed.

Protocol Encryption can help you use BitTorrent again if you're being unfairly throttled by your ISP. If this is the case, just set it to the example below:

Outgoing: Enabled Allow incoming legacy connections

Now we're going to click on Torrent Options. I'll jump right in. Let's look at Global maximum number of connections. This value is very, very easy to guess. Just take your upload bandwidth in kb/s and put it in there. In my case it's 128 kb/s, so we'll put 128 as the number.

Global maximum number of connections = 128

The next thing we'll tackle is Maximum number of connected peers per torrent. You should generally use the speed guide's recommendation as far as connection counts per torrent goes. Values higher than 100 should not be used unless you have 10Mbit, and even then, you shouldn't go beyond 125 connections per torrent.
Now you can put that number in the box next to it.

Maximum number of connected peers per torrent = 16

Then we'll continue on to Number of upload slots per torrent. This number should obviously never fall below 1...keep that in mind. In case you have a really low upload speed, like 33.6 kb/s (standard dial-up), keep it at 1. You could try 2, but that's already pushing it. hmm Anyway, how you calculate this value is a bit tricky. First, look at what number you put at your Global maximum upload rate (in Network Options). In my example it was set to 10 and I divided it with 4. So:

Code:

10 / 4 = 2.5

I'll take the side of caution and use 2 upload slots per torrent. However, I'm going to advise you to tick (check) Use additional upload slots if upload speed <90%. Just in case someone needs those extra few bits. smile

Number of upload slots per torrent = 2
Use additional upload slots if upload speed <>

I'm going to leave Queue Settings alone as only you are the one who can decide what's best for you. Saying that, I still recommend using some common sense and try to download one torrent at a time. Yes, I know we're all in a hurry to get everything quickly (like McDonald's fast food), but please, think of the swarm! yikes By uploading pathetic little bits here and there, it's only going to hurt the BitTorrent community even more. So be cautious when downloading (don't try running everything at once) and once you're finished don't forget to seed back to others who also want to enjoy what you've downloaded. wink

In Other Settings, I enable all of them, and you should tick (check) them all as well.

Really, this one needs no explanation. DHT (Distributed Hash Table) can really be a life saver when a tracker goes down. No reason to have it off, as it's automagically turned off if you're downloading a private torrent. However, if you experience time-outs, frequent disconnects etc., it might be worth a try to turn it off and see if it makes any difference:

Enable DHT Network

Same here with the last option. No reason to turn it off:

Enable DHT for new torrents

Peer Exchange is just another way to get info about more peers...a very helpful mechanism:

Enable Peer Exchange

Scraping regularly checks the health of a torrent (how many seeds/peers there are etc.), so I suggest enabling it:

Enable scraping

Unless you're having severe disk space problems, it's better to pre-allocate the space to the torrent. I've found it also reduces constant writing significantly:

Pre-allocate all files

OK, now it's time for us dive into µTorrent's Advanced Options. I'm going to address only those settings which I believe are going to give you a boost...the rest are better left alone unless you know what you're doing. Remember how I told you to patch your TCPIP.sys file a while ago?

You should patch this to 80% of the value you specified in tcpip.sys (40, if you followed my recommendations). MAKE ABSOLUTELY SURE THIS VALUE IS LOWER THAN THE VALUE YOU SET IN TCPIP.SYS!
Aggressive surfing won't be affected this way. smile Note: if your modem/router seems to time-out, frequently disconnect etc., you may have to lower the values for the sake of stability.

net.max_halfopen = *40.

If you can't maintain your upload speeds/can't seed properly, or you know that your ISP is shaping BitTorrent traffic (slowing down your network connection), try setting peer.lazy_bitfield to *true. It could help you with your problems. Also, it appears port 1720 (a VoIP [Voice over IP] port) is being unthrottled by some ISP's, so you may have to check that out as well. Alternatively, if all else fails, you could try port 443, 80, 21, 110 and as a last resort, 25. But it's better if you could try to find out what ports your ISP uses for NetMeeting/VoIP/Xbox Live etc. This is a legitimate question and they should be able to answer you what ports they use for these services without any problem/suspicion. It could very well be possible that you can bypass their BitTorrent restrictions using these types of ports. Here's a handy list of ports and their common uses. Also, switching ISP's to one that is known not to mess with BitTorrent traffic can also help tremendously, if it's an option for you. And switching to Geico can save you 15% or more on car insurance... tongue

peer.lazy_bitfield = *true

Another setting I've encountered that gives me a somewhat more stable connection is to set the disconnect interval to a higher value. Some people recommend turning it off completely, however I find that it can still be useful in some cases. Experiment and see what's best for your situation. On my system, I've set it to disconnect after 10 minutes instead of the default 5.

peer.disconnect_inactive_interval = *600

And lastly, if you're having problems with your hard disk that can't keep up with your download speeds (or you get a Disk Overloaded message in your status bar), you may have to modify µTorrent's cache to something higher. You can set it to 4x ~ 8x your maximum download speed. Remember to never set it below 2048 (2 MB). Higher than 32768 (32 MB) is not recommended, however if you still get the Disk Overloaded message it wouldn't hurt to try. wink

Code:

640 x 4 = 2560

diskio.write_queue_size = *2560

It's recommended to do the same with the Read Cache, as it can help ease the constant disk access considerably.

Code:

640 x 4 = 2560

diskio.read_cache_size = *2560

Now we're ready to see if we can get better speeds by downloading an OpenOffice.org torrent (keep in mind that OOo is a very well-seeded torrent, thus it represents a best-case scenario). This particular torrent should easily max out your download bandwidth. smile

So, to recap: there are many things that could be slowing down your BitTorrent downloads/uploads. Also, do not expect to always max out your download speed as this is totally unrealistic. It's more of a lucky one-time occurance than the norm. And if there are too few seeds and many peers in a swarm, your downloads will be slow, there's no way around it. Other than that, I hope you've found this mini-guide useful. Always remember: be a seeder, not a leecher! Have fun using µTorrent and Good Luck! cool"

Well..thats it! Enjoy!