21 มีนาคม 2551

Remove Spyware Professional

Remove Spyware Professional is a popular and easy-to-use tool, Is the only company in the world that offers a 100% removal guarantee. Why accept a "solution" with anything less than 100%? With Joke AntiSpyware Remover is the only company in the world that offers a 100% removal guarantee. Why accept a "solution" with anything less than 100%? With Remove Spyware Professional, you don't have to. Our personally guarantee Joke AntiSpyware Remover will remove 100% of your spyware, adware, hijackers, keyloggers, unwanted toolbars, dialers, trojan horses and malware or I will give you a free update in 24 hours-that will...Plus Joke AntiSpyware Remover prevents future infection-also guaranteed! Don't get me wrong. Since the Joke AntiSpyware Remover Research Team is constantly investigating new spyware, normally your spyware is removed the first time. Ordinary spyware removers only remove 90% of the spyware out there. The reason is with new spyware flooding the net every few minutes it's simply impossible for any company to have every spyware in its database. And to remove your spyware they need to have it in their database. But what makes Joke AntiSpyware Remover different is that we are on duty 24/7, searching out new spyware threats. The minute we identify them-you get a free update that removes it from your computer. Get 100% removal from Joke AntiSpyware Remover now. You can end you computer nightmares today.

Requirements: Intel Pentium II 350MHz or above, or any Athlon.64 MB RAM or above.

What's New: all spyware remover


Norton AntiVirus 2008 15.0.0.58

Symantec's Norton AntiVirus 2007 is the worlds most trusted antivirus solution. It removes viruses, worms, and Trojan horses automatically - without interrupting your work.

New Norton Internet Worm Protection blocks certain more sophisticated worms (such as Blaster and Sasser) before they enter your computer. Norton AntiVirus can also detect spyware and other non-virus threats.

Here are some key features of "Norton AntiVirus Final":

- Norton Internet Worm Protection stops certain damaging Internet worms at their attempted point of entry.
- QuickScan tool automatically searches for and removes viruses whenever new virus protection updates are downloaded.
- PreInstall Scan quickly detects and removes infections that can interfere with installing and launching Norton AntiVirus.
- Automatically removes viruses, worms, and Trojan horses.
- Scans and cleans both incoming and outgoing email messages.
- Blocks viruses in instant message attachments.
- Detects spyware and certain non-virus threats such as adware and keystroke logging programs.
- Scans compressed file archives before you open them and risk infecting your computer. (Available only on Windows XP/2000 Pro.)
- Downloads new virus protection updates automatically to protect against new threats.
- Worm Blocking and Script Blocking can detect new threats even before virus protection updates are created for them.


Norton AntiVirus offers:
- Auto-Protect to automatically scan files
- Quarantine
- LiveUpdate that updates your DAT files over the Internet
- LiveAdvisor personal e-mail support (requires registration)

Limitations:

- 30 day trial


Anti-AD Guard 2.1.2.5

Anti-AD Guard is a powerful program that filters and blocks commercial banners from being loaded by browsers. The multistage defense system guarantees practically complete filtration of advertisements. The super powerful heuristic analyzer allows blocking even the new formats of advertisements without updating the program.

Even an inexperienced user can get rid of the ads, since Anti-AD Guard starts working right after the installation and doesn't need any additional settings.

Anti-AD Guard compatible with all popular browsers - Internet Explorer, FireFox, Mozilla, Opera and Netscape - regardless of their version.

Requirements: none

What's New: Bugs fixing; small changes


Disspy Lite 3.0.0

FREE Spyware and Adware removal software. Main software features:
Scan ? Disspy scans memory, registry keys and values, cookies, files and folders for all known Data-mining, KeyLoggers, Hijackers, Dialers, Spyware, Adware, Browser Helper Objects, Spyware cookies, aggressive advertising and other tracking components.
Removal ? Disspy removes all found adware/spyware threats from your computer. Selected files can be removed permanently or backed up in restore bin.
Backup ? Disspy can backup all removed files so that they can be restored at any time, if necessary. List of backuped files is presented in restore bin.
Restore ? Disspy can restore all backuped files in case that removal made some dependent program(s) stop working. Disspy will restore files right back from where they were originally removed from. This feature makes Disspy the top class system and data crash-free software.
Exclude - Disspy enables its? users to create an exclusion list for the items that they will allow to reside on their computers.
Update ? Our experts are updating program database almost daily. By downloading latest database versions and other updates, Disspy users can be sure that they are fully protected at all times. User can choose to be alerted whenever a newer database version is available for download.
News & Tips ? Using Disspy info panel, users are able to receive all latest news related to new Disspy®?s features and other important news about spyware/adware and their removal.
On line customers support ? All Disspy users have 24 hours non-stop open support center where they can post (ticket) all their comments, problems, questions, recommendations, etc? Combined with knowledge base, also available on-line, users are sure that they will have all their questions answered.
Low hardware requirements - Disspy is not a demanding software and it is executive even on 333 MHz Pentium I computers with no more than 64 MB of RAM memory.

Requirements: 333 MHz Pentium I, 64 MB RAM


GarbageClean(TM) 2.1.0.0

 
GarbageClean(TM) antispyware software from SecureMyWindows scans and removes adware, spyware, trojan viruses from computer. It is a web based antispyware software. So no installation is required. User needs to login to website to run the software. Currently online scanning and removal service available as free to users.

Why GarbageClean(TM) is different?

1. GarbageClean(TM) detection is based on the micro signature(TM) scanning technology: where detection is based on system changes(file/registry) and not by spyware programs.
2. We detect and clean malicious program files, data files, registry changes, browser cookies and close network connections rogue servers.
3. We detach and clean infected modules (dll) from running process in memory
4. We scan and kill running adware/spyware/trojans programs in memory without system restart
5. No installation required, complete online-based scanning/cleaning

What's New: Fixed winlogon process shutdown during clean;Fixed after reboot prompt bug;Added registry scan exclusions;updated micro-signatures


17 มีนาคม 2551

Insulting Windows Admins? by Anthony Lawrence

 

I happened to catch a blurb promoting Xandros BridgeWays Management Console. I'm not going to pick any fault with that product; I'm sure it's as grinchy as grinchy can be, but my eyebrows did raise at this:

"Generally speaking, people who administer Windows environments aren't as comfortable working at the text file level, which is more characteristic of Linux, and giving them a graphical interface to manage Linux is a huge win," open source expert Bernard Golden, CEO of Navica, told LinuxInsider. "It makes it easier for those organizations to adopt Linux."

Ah.. excuse me? To me, that sounds an awful lot like "Windows folk are too dumb to use a command line, so we're giving them this." Now, yes, I know that's not what they meant, but if I were a top-level Windows admin type, I'd be a little insulted. More than a little, actually.

You see, every good Windows admin I've known is perfectly comfortable at the command line. Of course it's Windows command line, which historically has been less fun than riding a tricycle in an Iron Man race, but still: good Windows admins know their command line. The "pretend" admins may not, but I'm sure the real Windows admins have just as much disdain for those folks as we do.

I know right now somebody reading this is thinking "Windows is SOO pathetic, dude.. whatcha defending it for?".

I'm not: I agree that Windows is an awful OS, painful to live with and even more painful to administer. That's why you and I do Unix and Linux, right? But that doesn't mean that the poor people who have to keep those systems running are incompetent boobs - actually, in many situations they have to work harder and need much more creativity and problem solving skills than we do!

So let's not denigrate our fellow admins and pretend that they aren't capable of handling Linux or Unix systems. Yes, yes, yes: I know there are a lot of "fake" admins in the Windows world, people who really don't know much of anything about the systems they supposedly are responsible for. It completely disgusts me when I run across some supposed Windows admin who doesn't know as much as I do about Windows - because trust me, I don't know much. But I also know that there are really sharp, really capable Windows admins and I don't believe for a minute that any of them would have any problem with Linux, command line or not. They are bright people, and just like us they know what's going on "underneath", so they can figure things out. They'll adjust, they'll investigate, they'll read and research, and they'll learn.

It's really insulting to imply that they wouldn't, isn't it?.

 

Reading Skills by Anthony Lawrence

 

I'm not much for visuals. I don't like video blogs, slide show blogs: I want text. I suspect that's because I have extreme astigmatism and it wasn't corrected until I was well into school; I couldn't see much of the world around me so I never really learned to appreciate visual images as much as most people do. Probably for the same reason I'd rather read a book than watch a movie.

But there's more to it. I can't stand watching video blogs because they take too much time. I can read and skim through dozens of websites in the time it would take me to watch one video.. watching videos (and slideshows are almost as bad) just isn't efficient.

Obviously some things need pictures, and some things need video. But it seems to me that a lot of what's presently blogged in a video format not only doesn't need to be that way, but shouldn't be.

However, these formats are becoming very popular. Even a few blogs that I used to read regularly have switched to video - annoying me greatly, but apparently satisfying their greater audience. So what's the deal? Is text doomed to extinction? Is it because of poor reading skills? Do the people who prefer to listen and watch actually get more of of that than they would from reading? I'm beginning to think that must be the case.. if so, it's a terrible shame.

A seller of speed reading resources says this:

The statistics speak for themselves. The average CEO in America reads 4-5 books per month and the average American reads 1 book per year! That is an extremely amazing and true statistic. Question: Did the CEO develop his habit of reading while he was a CEO or is it a life-long habit that he or she had nurtured long before?

http://www.ronwhitetraining.com/store.htm

I don't know how accurate that is, but it wouldn't surprise me if it were true. Worse, as I know at least some of us read much more, that would mean that a high percentage doesn't read at all.. scary, I think. There are other statistics at http://www.readfaster.com/education_stats.asp that don't comfort me any.. Susan Jacoby's The Age of American Unreason has quite a bit to say about American ignorance; I can't help but feel the trend toward video is strongly related.

On the other hand, I'm acutely aware that part of this is the old fogey grumbling about the youngun's ways. Humans have been doing that for centuries, maybe longer. There is no denying that video is an inefficient way of imparting information, but there is also the fact that it can be more effective and memorable. That is, it may be true that large amounts of knowledge can be transmitted more quickly through the written word, but a lesser quantity presented with video may be more easily absorbed. We have never before had the ability to provide so much information in this way, so it may be far too early to bemoan its supposed impotency. Overall, it might actually be better: if Johnny can read, but won't, imparting knowledge by video is certainly better than nothing at all.

Remarkablogger did a post recently entitled What Makes a Great Video Blog? which imbeds a number of sample videos from popular video bloggers. Some of the comments express misgivings about the time required to watch these sites, but most seem to think the trend is inevitable.

Obviously YOU can read - or you wouldn't be here. What's your feeling about the trend toward video? Do you like it, hate it, or is it just another medium, useful for some things? Do you read more than you watch or vice versa? Does functional illiteracy and ignorance worry you as much as it worries me?

 

FW: Perl Reporting by Anthony Lawrence

I often forget about Perl's reporting formats, and I suspect that a lot of people do - we're so used to Perl as a programming language that we forget it's original namesake: Practical Extraction and Report Language. Reporting was a big part of Perl's beginnings, but it's hardly ever mentioned today.

In fact, it's been so long since I have used any of these features that I had to drag out my big Camel Book to review the whole subject - I had forgotten everything. Fortunately, it's not hard, and using these capabilities can make output much easier: you don't have to keep track of lines printed so that you can generate headers on new pages or print page numbers: Perl does that for you. You can justify and center, easily handle variable width data and more. Perl Report Formats make all this easy.

Here's an example using a format suggested in the Camel book (or online at Perl Formats)

:

 
#!/usr/bin/perl
# a report on the /etc/passwd file
format STDOUT_TOP =
                        Passwd File
Name                Login    Office   Uid   Gid Home
------------------------------------------------------------------
.
 
format STDOUT =
@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
$name,              $login,  $office,$uid,$gid, $home
.
 
$= = 20;
# sets 20 lines per page
while (<>) {
( $name, $login,  $office,$uid,$gid, $home) =split /:/;
next if not $login;
write;
 
}
 
 

On my Mac, running that program with /etc/passwd as its argument produces this:

 
                        Passwd File
Name                Login    Office   Uid   Gid Home
------------------------------------------------------------------
nobody                 *     -2        -2 Unpri /var/empty
root                   *     0          0 Syste /var/root
daemon                 *     1          1 Syste /var/root
_uucp                  *     4          4 Unix  /var/spool/uucp
_lp                    *     26        26 Print /var/spool/cups
_postfix               *     27        27 Postf /var/spool/postfix
_mcxalr                *     54        54 MCX A /var/empty
_pcastagent            *     55        55 Podca /var/pcast/agent
_pcastserver           *     56        56 Podca /var/pcast/server
_serialnumberd         *     58        58 Seria /var/empty
_devdocs               *     59        59 Devel /var/empty
_sandbox               *     60        60 Seatb /var/empty
_mdnsresponder         *     65        65 mDNSR /var/empty
_ard                   *     67        67 Apple /var/empty
_www                   *     70        70 World /Library/WebServer
_eppc                  *     71        71 Apple /var/empty
_cvs                   *     72        72 CVS S /var/empty
_svn                   *     73        73 SVN S /var/empty
_mysql                 *     74        74 MySQL /var/empty
_sshd                  *     75        75 sshd  /var/empty
_qtss                  *     76        76 Quick /var/empty
_cyrus                 *     77         6 Cyrus /var/imap
_mailman               *     78        78 Mailm /var/empty
_appserver             *     79        79 Appli /var/empty
_clamav                *     82        82 ClamA /var/virusmails
_amavisd               *     83        83 AMaVi /var/virusmails
_jabber                *     84        84 Jabbe /var/empty
_xgridcontroller       *     85        85 Xgrid /var/xgrid/control
_xgridagent            *     86        86 Xgrid /var/xgrid/agent
_appowner              *     87        87 Appli /var/empty
_windowserver          *     88        88 Windo /var/empty
_spotlight             *     89        89 Spotl /var/empty
_tokend                *     91        91 Token /var/empty
_securityagent         *     92        92 Secur /var/empty
_calendar              *     93        93 Calen /var/empty
_teamsserver           *     94        94 Teams /var/teamsserver
_update_sharing        *     95        -2 Updat /var/empty
 
^L                      Passwd File
Name                Login    Office   Uid   Gid Home
------------------------------------------------------------------
_installer             *     96        -2 Insta /var/empty
_atsserver             *     97        97 ATS S /var/empty
_unknown               *     99        99 Unkno /var/empty

Ever had to handle variable length data in a report? That can be annoying, can't it? Let's say we have this text file:

 
02/04/2008:No changes
02/08/2008:Maintenance
02/16/2008:Major problems.  Disk crash, all work lost
02/17/2008:Starting over
02/19/2008:This is just too much work.  The project is not worth the trouble. I quit.
02/25/2008:Wow! Big raise.  Guess I don't quit.

Here's a little Perl script that eats that up:

 
#!/usr/bin/perl
format STDOUT =
Date              Action
@<<<<<<<<         ^<<<<<<<<<<<<<<<<<<<<
$date             $action
~                 ^<<<<<<<<<<<<<<<<<<<<
                  $action
~                 ^<<<<<<<<<<<<<<<<<...
                  $action
.
 
while (<>) {
($date,$action)=split /:/;
write;
}

If we run that against our data file, we'll get:

 
02/04/200         No changes
02/08/200         Maintenance
02/16/200         Major problems.  Disk
                  crash, all work lost
02/17/200         Starting over
02/19/200         This is just too much
                  work.  The project is
                  not worth the...
02/25/200         Wow! Big raise.
                  Guess I don't quit.

There's a lot more to this, I just wanted to give you a taste here. You can read the docs and play with it yourself but can probably easily see how much time and trouble this could save you.

 

Shed a tear for Microsoft by Anthony Lawrence

Poor Microsoft, under attack from Google, Linux, Apple, even from their own selves (Vista). Margins falling, desperately flailing out trying to find new income sources.. what's a poor multi billion dollar corporation supposed to do?

And now this mess where they are being sued for "bait and switch" advertising? How about their promised API openness turning up a little short?

Some folks have seriously suggested that Microsoft needs to embrace open source.. open up their own code and try to compete on that playing field. After all, it's almost certainly a torturous mess of spaghetti, and releasing source doesn't mean you have to help anyone understand it, so the theory is that they'd make their money from support and customization..

Another theory has them taking BSD source and peeing in it to make it taste better - jazzing up the GUI, adding their Networking crap.. err, I meant protocols, sorry.. thereby attracting Unixy folk to their Koolaid party.

I don't think so. First, I don't think they are psychologically capable of such a move - either one. Secondly, I don't think they are smart enough. That may sound odd - after all, we are talking about an incredibly successful corporation here - but I really have never seen them as being creative, imaginative or out-of-the-box thinkers. Microsoft is buttoned down group think at its finest, mixed with a larcenous soul. Their success has not come from innovation, rather it has mostly come from cut-throat business practices. We know that, and this tiger isn't going to change its stripes. Microsoft will continue down the path to its ultimate destruction doing the same things it has always done - it's not going to change course. It couldn't if it wanted to: it's too damn big and clumsy.

So shed a little tear for the little corporation that grew up into a giant elephant and is now dancing around because mice are about to run up its nose. Shed no tears for Bill: he's gone now, and surely will be able to sell enough stock on its way down to be quite comfortable even if he won't be appearing on the "World's Richest" lists. He'll have a soft enough landing. And so will most of the employees: they'll find jobs at Apple, RedHat and the other yet to be created companies that will fill the void. Even bully Ballmer will probably land something cushy: lots of companies admire business piranhas.

But mighty Microsoft? It may not be crying time quite yet, but I think the day is fast coming.

 

How do you do "X" in Unix (Linux,Solaris..)? by Anthony Lawrence

One of the paradigm shifts Windows users (and even some Unix users) have to get by is often seen in a "How do I do X in Y?" question, for example "How do I repeat commands in Unix?". Of course that can be a perfectly legitimate question, but often the person asking is missing an important concept: Unixish systems do not tightly bind the user interface to the system. That particular question is a user interface question, and the answer is (depending upon how much of an s.o.b. you want to be) "That has nothing to do with 'Unix'" or "That depends upon what shell you are using."

For old Unix and Linux hands, the unbinding is obvious: we have choices. We can choose our shells, our windows managers, even our filesystems. Windows users have much less choice, especially "out of the box". An XP system is a tightly bound system of tools - windows work the way windows work, there's one command line shell, and while there are three possible file systems, there's no reason to use the older types unless you are dual booting some ancient Windows or have old disks that need to be accessed.

So Windows users aren't prepared for choice. The same misunderstandings apply to naive Unix users who never understood that they had choices: a csh user suddenly transported to Linux bash may cry "How do I repeat commands in Linux?", a SCO user accustomed to DEL being his INTR character will complain "I can't get ping to stop!" (and a Windows user, accustomed to "ping" quitting by itself, will make the same complaint). None of them understand that it isn't "Linux" or "OS X" that is conspiring to confuse them: it's simply default choices that can be easily changed.

For those that arrived here from some Google search, Linux bash shell repeats commands with 'up arrow' and you'd stop "ping" with CTRL-C, but those are again defaults and might be different.

Windows users (and the naive Unix users, which might include many Mac OS X users) need to adjust their view of how things work. Some time ago I wrote New to Unix. That's helpful, but it doesn't necessarily point your brain in the direction it needs to go - it's not just substituting one set of rules for another (slashes vs. backslashes), it's understanding that a lot of this can be a matter of choice.

How do you know when it's choice and when you are stuck with it? Well, really, you are almost never "stuck"; whatever you need probably can be accomplished some way. The idea is to know what's trivial and what is not, and of course the more you understand about how your system really works, the easier it is to make that judgment. When you first have that "Aha!" moment where you realize that your gui and your shell are just programs that call upon services in the Unix kernel, you have learned a lot. It may still be hard to know when something is really "Unix" and when it is not, but generally you should realize that operating systems themselves do simple things: they read and write data, and not a lot more.

In other words, the operating system doesn't get involved with complicated stuff like editing a file: it just reads the bytes some editing program wants and writes them back to the file system when the editor tells it to. Most everything in between is up to the program you are using - that editor of course calls on the OS to get keystrokes and to send things to your screen, but most of what it does has little to do with the OS itself: with some adjustments, it could work quite happily on an entirely different operating system. Even that business of reading and writing the file system is a bit outside the operating systems real control: it passes off most of the responsibility to a file system driver, which is just a program added on to the base system.. a different program could be substituted and the system would still work as it always has.

For the same reasons, your operating system isn't concerned with legal file names, whether or not you can type both "lc" and "LC", how you stop a command from running (though actually stopping it is the operating systems job) or what colors are shown as the background. I suppose I could give hundreds of other examples, but it boils down to knowing how things work: if you understand that your car is out of gas, you don't expect it to start by hooking up to another car with jumper cables, right? But why do you know that? Because you have at least a rudimentary understanding of how cars work. If you did not, you might not realize the futility of getting a "jump" when your gas tank is empty.

The same is true for operating systems. The more you understand about how they work, the more you'll understand what you should be able to control easily.

 

Wrong DNS causes interesting glitch by Anthony Lawrence

I had an interesting call a few days back. Old customer, old SCO box overdue for the graveyard but still in use. Customer needed to renumber his ip scheme and ran into a confusing situation after changing from 192.168.2.x to 10.126.10.x.

Here are the observed conditions:

"ifconfig" shows correct address, broadcast, mask.

"netstat -rn" shows correct routes.

"netstat -in" does show a high number of collisions.

Nothing funky in /etc/hosts.

Ping a local machine or the router, ping hangs.

Delete the default route and ping works.

On the face of it, this is wrong. Local LAN packets have nothing to do with the default route; it shouldn't matter whether it has a route or not - local packets don't need to go through the router..

I should have realized what this was instantly, because there is something that local packets could need the router for.. I'll give you a second to think about it..

Ok.. that's long enough. The reason I didn't hit on this instantly is because I had talked to the admin there and reminded him that he needed to change /etc/resolv.conf as part of this work. Unfortunately, he forgot it - well, he remembered that he *needed* to do it, but never actually did it. So resolv.conf still pointed at a 192.168.2 address for a nameserver.

Why does that matter? Because of reverse lookups. Every packet coming in needs to be resolved to a name if possible. The resolver looks at /etc/resolv.conf to find out how to do that, and of course it found that 192.168.2.x address. Without a default route, there would be nothing it could do with that: it can't ask the name server to resolve any ip's because it has no way to get there. Therefor it instantly gives up, and the ping works.

But with a handy default route, it's going to try to reach the name server. That might have been OK if the router knew nothing about any 192.168.2.x addresses and had said so instantly, but apparently it tried to route that.. I'm not sure where, though they do have hardware VPN's also, so that may be where it sent the packets. Whatever actually happened, the resolver requests would never be answered, so everything had to wait for a timeout.. I don't know how long that is configured for on that router, but whatever it is, it was plenty long enough to hang ping.

Putting the correct DNS server into resolv.conf solved this instantly (there's no need to reboot - the resolver notices changes to resolv.conf immediately).

I don't know where the collisions came from.. but I wasn't asked to do anything more, so I left that to the normal admin. The system worked at this point and the collisions were not increasing.

 

Don't buy a Mac by Anthony Lawrence

A month or so back one of my computerless neighbors told me that he and his wife were ready to join the Internet Age and asked if I'd be willing to give him some advice. Of course I said yes, and told him to call me as he got closer to actual purchase.

I saw him a few times after that, and about a week ago he said he was "real close". I chatted with him a few minutes about Macs and PC's, strongly recommending the Mac, and especially made a point to tell him about PC Magaine choosing Mac OS X as the best consumer OS.

On the flip side, I also know that his son works somewhere in the computer field, so I said that if his son would be helping him regularly with problems, he should ask his son which platform he'd prefer.. that makes obvious sense, I think.

Two days later I ran into him again and he said "We bought a computer. Windows". I assumed he had talked to his son and decided on that basis, but no, his wife "had used Windows at work" so they went with that. I didn't have the heart to tell him that she had probably used XP at work and that Vista wasn't going to be anything like what she was used to, but I did ask where he had bought it. "Best Buy, twelve hundred bucks".

I probably should have kept my mouth shut, but I couldn't help reacting. This guy just needs email and Internet: he doesn't need an expensive computer. I blurted out "Oh, gee, you paid too much!"

"That included a printer", he retorted. Again I should have just shut up, but I like these people and I hate seeing them get taken. "A printer is about seventy bucks", I said.

"And they are coming out to the house to set it up!" he exclaimed.

Great. There's probably two hundred of it, and totally wasted. "Aren't you getting Verizon FIOS?", I asked, knowing the answer already. He affirmed that. "Well, you need the computer set up with FIOS, but there's really nothing to it - and Verizon will do it anyway."

He stared at me for a few seconds. "Well, too late now.". This time I did shut my mouth. Of course it's not too late: he could take that right back to Best Buy and get all his money back. He could spend far less and get a perfectly good system, Apple or Windows, and he sure as heck doesn't need to pay them to "set it up".

Oh well.. I tried. But I do have to wonder: why did he even bother to ask me?