Wikipedia:Reference desk/Archives/Computing/2007 March 28

= March 28 =

Download some logic
Is there any place on the internet where musicians share their music, but in the form of say, Garageband .band files, or Logic song files, instead of mp3s or midis or aacs or something like that? [' Mαc Δαvιs '] ( How's my driving? ) ❖ 00:01, 28 March 2007 (UTC)


 * I can't help you with Garageband or Logic, but there is ACIDPlanet for users of the Sony's ACID Pro and ACID Music programs. --LarryMac 00:58, 28 March 2007 (UTC)

KOTOR 2 problems
After installing KOTOR 2, I run the game. I go through the menu screens and watch the first movie. Then, however, the screen remains blank (black) while music is playing. About 45 seconds later, a message box pops up saying that KOTOR 2 has to close. My computer is well within the system requirements (2.8 GHz Pentium D, 1 GB RAM, etc) with the exception of my 'graphics card' (really an IGP), but that has been offically supported since the latest patch, which I have already installed. I have all the latest drivers and the latest DirectX 9 build.


 * The KOTOR games are notorious for crashing whimsically on PC. I havent completed either of them due to the game crashing at one point or another and no matter what I try I can't get any further. I'm not entirely sure what to suggest. Maybe having a clean boot and having as little as possible running in the background. It's not an unknown problem with this game, though. Capuchin 08:44, 28 March 2007 (UTC)

grep
I'm trying to find lines in a file which do not contain any of the letters abc. How do I do this with grep? Thanks. --87.194.21.177 01:45, 28 March 2007 (UTC)


 * -v option. See Root4(one) 02:47, 28 March 2007 (UTC)


 * Ja, v = das ist Verbotten. StuRat 03:08, 28 March 2007 (UTC)

So, I'd go with "grep -v a -v b -v c target_string". StuRat 03:10, 28 March 2007 (UTC)


 * Eh, grep the executable, works on files, not target strings. You can test your regex by omitting the filename.  But Upon looking at StuRat's suggestion, I did discover something.  On another page about grep on gnu.org, it mentions that grep can accept lists of regular expressions (something I had not realized).  Indeed, you can use multiple regexes with the -e option.  But it appears that -v can only negate all regexes, not any specific one. So, although an easy way to accomplish what you want if you knew anything about regular expressions is grep -v '[abc]' filename, you could also grep -e a -e b -e c -v filename.  The  -e option is nice because you can give multiple regexes and have grep report back which files matched, etc without having to do a double pipe (Unix).  Sweetness!


 * Root4(one) Pats StuRat on the back for his creativity. Root4(one) 04:12, 28 March 2007 (UTC)


 * Interestingly, if you can use grep -v '[abc]' filename you should be able to use the reciprocate, grep '[^abc]' filename, however escaping it may be a little hard. -- ReyBrujo 04:43, 28 March 2007 (UTC)


 * One more tidbit. I feel like a jackass correcting people here, but this one misconception has convicted me more than once, so I think it would be helpful for me to share. I've been fortunate that the HTML form for which I used that type of regex as a validator (before I corrected) apparently has not been abused!.  If you use [^abc], you have to make sure that you match that regex against ALL characters on the line (well, excluding line feed).  grep '[^abc]'  can match abc!  This is a common misconception of how the negated character class works.  All that character class says is "match any character that is not in this set".  The line "abcd" works, because "d" is not in that set!!


 * So in that case a correct invocation for our intents is instead grep '^[^abc]*$'  where ^ matches the beginning of the line, [^abc]* matches any character not in the set {a,b,c} zero or more times, and $ matches the end of line or eol character(s). The anchors {^,$} force [^abc]* to stretch from the beginning to the line to the end, just before the eol char if it exists.


 * This is analogous to predicate logic: if you want to declare that something must exist that has property p, you say $$\exists x, p(x)$$. If you want the logical opposite, you say "It's not the case that x exists and p(x)", or rather "For all x, not p is the case", or formally:


 * $$\neg (\exists x, p(x)) = \forall x, \neg p(x)$$


 * The sad part of it is I have had mathematical training in thinking correctly about things like this and I still mess this construction up.
 * Root4(one) 14:12, 28 March 2007 (UTC)


 * Thanks everyone. -v is right there on the man page, don't know how I missed it - sorry!  Those interested in silly dinner party games may be diverted by the result of "grep -v [mackerelMACKEREL] countries" where "countries" is a list of all the world's countries.  I get 3 of them.  Thanks again. —The preceding unsigned comment was added by 87.194.21.177 (talk) 10:30, 28 March 2007 (UTC).

While we're doing character-class tricks, here's a rare use for a character-class with only one item in it: ps ax | grep '[f]irefox' That command will show you firefox's process info, but not the info for the grep command itself, which it normally (annoyingly) would, since "firefox" matches the regex, but "[f]irefox" does not. --TotoBaggins 18:08, 28 March 2007 (UTC)


 * Cute! —Preceding unsigned comment added by 129.78.64.102 (talk • contribs) 23:08, 28 March 2007

Easiest way to let users interact with a website
Suppose I want to do a very basic "web 2.0" site. Letting people (1) create an account and login (2) upload text & pictures, (3) posts to forums. Now, ten years ago when I was on top of these sorts of things, I would have done this with custom perl cgis. Nowadays, I expect that would be re-inventing the wheel? What's the simplest way to do this sort of thing? --Wouldbewebmaster 02:35, 28 March 2007 (UTC)


 * That sounds a lot like a wiki, like this one. StuRat 03:06, 28 March 2007 (UTC)


 * No, I wouldn't want that level of anarchy. :) In particular, I'd want, for example, to approve submissions before they're added to the site, at least for new users.  --Wouldbewebmaster 03:30, 28 March 2007 (UTC)


 * The simplest way is to find a suitable Content management system. You can do as much or as little re-inventing as you want. If you want to code it yourself there are alot of web application frameworks out there, ruby on rails is very popular, I have been trying to learn to use catalyst (software) which a OO perl framwork -- Diletante 03:23, 28 March 2007 (UTC)
 * Zope + Plone --wj32 talk 07:20, 28 March 2007 (UTC)

my monobook.css
Hi all! I'm trying to gain some real estate on my edit pages by deleting the copywrite notices, etc. Did it in my .js file but figured it would be done better in my .css file, yes? no? Here's my .css file (the whole thing) (addapted from Mac Lover's .css):

/* Don't display some stuff on the main page */ /*  Thank you, Mac Lover */ /* body.page-Main_Page #lastmod,  */ /* body.page-Main_Page #contentSub,   */ /* body.page-Main_Page h1.firstHeading   */ body.page-Main_Page #siteSub, body.page-Main_Page #newarticletext, body.page-Main_Page #userinvalidcssjstitle, body.page-Main_Page #editpage-copywarn, body.page-Main_Page #editpage-copywarn2, body.page-Main_Page #editpage-copywarn3, body.page-Main_Page #editpage-specialchars, body.page-Main_Page #talkpagetext { display: none !important; }

Doesn't work. My first css; am I missing some punctuation or something? Thanks. --Saintrain 06:41, 28 March 2007 (UTC) P.s. do "//" inline comments work in css?


 * not sure what's wrong with your code - might sound obvious, but have you tried emptying your browser's cache/shift-refreshing the page in case that's the issue? And no, I'm afraid you're stuck with /* */ comments, CSS doesn't support // to my knowledge... └ UkPaolo/talk┐ 06:57, 28 March 2007 (UTC)


 * Thanks UKPablo. My problem is over-zealousness with ^C^V.  A little snooping with firebug (Yaaay Firebug!!!) revealed that "Edit" pages aren't the "page-Main_Page".  Duh!  So changing it to:

/* */ /* Don't display some stuff on the edit page */ /*  Thank you, Mac Lover */ body #newarticletext, body #userinvalidcssjstitle, body #editpage-copywarn, body #editpage-copywarn2, body #editpage-copywarn3, body #talkpagetext { display: none !important; } /* */ gets rid of half the, um, stuff on the edit page. I can live with /* */ --Saintrain 00:18, 29 March 2007 (UTC)

DVD copy-protected disc
How can you copy a DVD copy-protected disc onto a DVD recordable disc?Dudforreal 07:00, 28 March 2007 (UTC)


 * Well, strictly speaking, you cannot due to the wonders of the DMCA and the fact that recordable DVD medium lacks sufficient capacity to contain a pressed DVD. -- mattb


 * You could just do a 1:1 copy of the DVD provided you have a dual-layer blank. If you want to burn an unprotected DVD to dual-layer blank, or if you do not have such a blank, use DVD Decrypter or a related product to decrypt the DVD. Then, either just burn the files, or use something like DVD Shrink (though I think it’s not best quality) to shrink to 4 GB. Splintercellguy 15:07, 28 March 2007 (UTC)


 * You are still allowed to make backup copies of software/videos that you bought legally. I suppose your question is about Video DVDs, not software ones. If so, try DVD Shrink. Aetherfukz 15:19, 28 March 2007 (UTC)


 * You are allowed to copy the bits verbatum, but commercial DVDs are encrypted, meaning that if you want to do any sort of meaningful backup you would have to decrypt them. That is illegal in the US, even if you own the damn thing. --Oskar 17:43, 28 March 2007 (UTC)


 * Yes indeed, thus my comment about "the wonders of the DMCA". DVD Decrypter, DVD Shrink, et. al. are in fact illegal to use for transcoding CSS-protected DVDs in the USA.  This is the same law that could be used to make a reasonable case against the legality of black permanent markers, Scotch tape, etc (okay, this is hyperbole, but amusing nonetheless). -- mattb


 * I'd personally recommend AnyDVD. --Sn0wflake 04:22, 3 April 2007 (UTC)


 * Not everyone here hails from the US. In most european countries it is still (barely :D) legal to copy DVDs non-verbatum. You are allowed to make a backup copy of stuff you own. If the company hinders you from copying it you can remove the copyprotection. It's still a grey area here in the EU but there hasn't been any resolution. The law entitles you to you backup copy that is for sure, the only matter of discussion is wheter the law for a personal backup counts more than the law against removing copyprotection. Aetherfukz 12:53, 29 March 2007 (UTC)

Ripping songs with the Playstation 3
Yesterday, I finally got around to updating my PS3 to version 1.60 (Up from version 1.32!). I saw it could rip songs, so I tried it with a disc my brother burned.
 * He used NeroVision Express 2 SE, version 2.0.1.14
 * The "about" thing said that there are no updates available for it.
 * The disc used was a Memorex 24x CD-RW with 700MB free space. It had never been written on before. To be safe, I told him to burn it at 16x.

When I tried ripping the tracks, three (Out of 12) wouldn't work. One always got to 44%, and then quit. I tried it three times. Then I ejected the disc to see if it was dirty. It wasn't, so I put it back in and tried one more time. That time, it worked. The other two still wouldn't work. What is going on?____J.delanoy 13:33, 28 March 2007 (UTC)
 * Nevermind... found answer...J.delanoy 23:08, 31 March 2007 (UTC)

Indexes not being used in double join in PostgreSQL.
I have a view (of the type ) in a postgreSQL database. I've got indexes on the relevant keys. Here's the relevant query estimations (the results of a  just after doing a  ):

Aggregate (cost=44360.44..44360.44 rows=1 width=0) -> Hash Left Join  (cost=42395.22..44342.86 rows=7029 width=0) -> Merge Left Join  (cost=40677.03..41127.79 rows=7029 width=30) -> Sort  (cost=28626.47..28644.05 rows=7029 width=28) -> Index Scan using main_index on a  (cost=0.00..28177.35 rows=7029 width=28) -> Sort  (cost=12050.56..12228.48 rows=71169 width=58) -> Seq Scan on b (cost=0.00..4465.69 rows=71169 width=58) -> Hash  (cost=1430.15..1430.15 rows=30815 width=30) -> Seq Scan on c (cost=0.00..1430.15 rows=30815 width=30)

Now with  disabled:

Aggregate (cost=75750.29..75750.29 rows=1 width=0) -> Merge Left Join  (cost=70878.75..75732.72 rows=7029 width=0) -> Sort  (cost=70878.75..70896.32 rows=7029 width=30) -> Nested Loop Left Join  (cost=0.00..70429.63 rows=7029 width=30) -> Index Scan using main_index on a  (cost=0.00..28177.35 rows=7029 width=28) -> Index Scan using b_index on b  (cost=0.00..6.00 rows=1 width=58) -> Index Scan using c_index on c  (cost=0.00..4705.79 rows=30815 width=30)

So the estimate is considerably higher. But see what happens when I use :

Aggregate (cost=44360.44..44360.44 rows=1 width=0) (actual time=5050.772..5050.775 rows=1 loops=1) -> Hash Left Join  (cost=42395.22..44342.86 rows=7029 width=0) (actual time=4072.397..5021.447 rows=7960 loops=1) -> Merge Left Join  (cost=40677.03..41127.79 rows=7029 width=30) (actual time=3785.948..4493.221 rows=7960 loops=1) -> Sort  (cost=28626.47..28644.05 rows=7029 width=28) (actual time=503.664..533.751 rows=7960 loops=1) -> Index Scan using main_index on a  (cost=0.00..28177.35 rows=7029 width=28) (actual time=0.298..148.873 rows=7960 loops=1) -> Sort  (cost=12050.56..12228.48 rows=71169 width=58) (actual time=3212.388..3488.106 rows=77850 loops=1) -> Seq Scan on b  (cost=0.00..4465.69 rows=71169 width=58) (actual time=0.066..474.231 rows=71169 loops=1) -> Hash  (cost=1430.15..1430.15 rows=30815 width=30) (actual time=285.829..285.829 rows=0 loops=1) -> Seq Scan on c  (cost=0.00..1430.15 rows=30815 width=30) (actual time=0.035..154.118 rows=30815 loops=1) Total runtime: 5053.691 ms

With  disabled:

Aggregate (cost=75750.29..75750.29 rows=1 width=0) (actual time=1613.781..1613.784 rows=1 loops=1) -> Merge Left Join  (cost=70878.75..75732.72 rows=7029 width=0) (actual time=1068.327..1584.194 rows=7960 loops=1) -> Sort  (cost=70878.75..70896.32 rows=7029 width=30) (actual time=1059.543..1090.613 rows=7960 loops=1) -> Nested Loop Left Join  (cost=0.00..70429.63 rows=7029 width=30) (actual time=0.575..676.770 rows=7960 loops=1) -> Index Scan using main_index on a  (cost=0.00..28177.35 rows=7029 width=28) (actual time=0.383..127.476 rows=7960 loops=1) -> Index Scan using b_index on b  (cost=0.00..6.00 rows=1 width=58) (actual time=0.046..0.050 rows=1 loops=7960) -> Index Scan using c_index on c  (cost=0.00..4705.79 rows=30815 width=30) (actual time=0.198..183.827 rows=37904 loops=1) Total runtime: 1614.366 ms

What gives? Why isn't it using my indexes unless I force it? Why is the estimator so wrong, even after I ran a ? I'm using PostgreSQL 7.4.8. grendel|khan 17:47, 28 March 2007 (UTC)


 * I wish I knew. I've experienced similar apathy by the optimizers in Microsoft SQL Server and Oracle. —EncMstr 17:51, 28 March 2007 (UTC)


 * I seem to recall having run into this or a similar problem before and it being explained within the postgres docs as something that they don't intend to fix because it would require sacrificing some code purity. I'll see if I can dig up the specifics. -- mattb

MySpace Detector
I was wondering if it is really possible to know who was looking at your profile on MySpace. I have heard conflicting answers....


 * I know nothing about myspace, but if it allows you to embed images from external sites you can do some trickery with scripts on a server you control to get viewers' IP addresses. Another possibility would be some Javascript tomfoolery, but I suspect that the myspace people (justifiably) disallow any browser scripting.  I think I have seen flash videos posted on myspace pages, too.  With some ActionScript I think you could possibly write a flash program that reports an IP address to a location of your choosing. -- mattb
 * I could (very well, I don't use it) be wrong, but I didn't think MySpace did block JavaScript (or at least, don't completely...) └ UkPaolo/talk┐ 19:18, 28 March 2007 (UTC)
 * Would that work even if somebody was looking at the google cache of the page? [' Mαc Δαvιs '] ( How's my driving? ) ❖ 19:11, 28 March 2007 (UTC)
 * Potentially, it would depend on the implementation. If you added JavaScript to load an external image, passing parameters, then providing you added something (eg the time) which would make this URL different, to the last time it was accessed, then even though most of the page is coming from the browser's cache, the browser would consider that image to be a different one to the one it had in cache, and still go out to the web to retrieve it... └ UkPaolo/talk┐ 19:17, 28 March 2007 (UTC)
 * I'm only gonna give you more conflicting answers, I'm afraid. MySpace could (and probably do) log the IP address of people viewing your profile, and if that person was logged in they could log their identity. Whilst they could choose to make this information available to you, I don't believe they do, and it would be unlikely due to privacy concerns. Now, there is one workaround that I read about a while back (whether it still works I don't know). That worked something like this... basically if a user is logged in, they are given a unique cookie identifying them to MySpace. To prevent cross-site scripting, the visitor's browser will only give access to this cookie to the site which set it. However, it would potentially be possible to add JavaScript to your MySpace profile, which could access this cookie (the browser would allow it, since your profile is on the domain that set the cookie). This JavaScript could pass these details to a third party, to be logged in some way (I believe in this example it loaded an image from an external web server, passing the details as parameters to be logged). You could then access that 3rd party site, and check who'd visited your profile. Of course, you'd either need to be pretty net-savvy to set that up, or find someone offering such a service. Whether that trick any longer works I don't know (if MySpace are sensible they'll only store some kind of ID in their visitor's cookies, which means at best you'd get a seemingly random string of characters, which you can't easily associated with a person...). └ UkPaolo/talk┐ 19:16, 28 March 2007 (UTC)
 * I don't know about what MySpace does and does not allow on individual pages since I don't really care about that site, but you probably could set up a web beacon to get IP numbers and a count of how many page views your are getting. As for using Javascript to get usernames, I wouldn't do it if I valued my account - MySpace might think you're a cracker or a phisher and ban you, since they've had problems with those people in the past. (Lots of people had their accounts cracked, and couldn't do whatever people do on MySpace) There is also this thing: Month of Myspace Bugs, which promises a new MySpace bug every day of April. --Transfinite (Talk / Contribs) 00:56, 29 March 2007 (UTC)

Endnotes in OpenOffice.org Writer
Is there any way to insert 2 references pointing to a single number (in the footnotes/endnotes). Like this:
 * Someone said "hello world."[1] ... Later on, Someone also said "goodbye".[1]
 * 1. Someone, Some Book or Other, 2007

Something like that? --h2g2bob 19:36, 28 March 2007 (UTC)


 * Create the first footnote as usual (Insert > Footnote). Then point to the second occurrence and then use Insert > Cross-Reference > Select the appropriate footnote from the second list.  You will probably have to superscript the number/letter yourself, though.   x42bn6  Talk 22:24, 28 March 2007 (UTC)


 * That works a treat - thanks very much :D --h2g2bob 00:18, 29 March 2007 (UTC)

FOS Distributed Database Engine
Is there a free-open-source database engine that will handle distributed data? For example, I want to have a few hundred databases, all with the same table structure, but each containing different data. Then, from my computer, I want to do something like   I want this to query ALL of the databases as though they were all just one database. The catch - we have no money. So, I'm looking at hacking Postgres or MySQL if I can't find something already created. --Kainaw (talk) 19:36, 28 March 2007 (UTC)
 * Does this describe your situation? —EncMstr 19:51, 28 March 2007 (UTC)


 * Yes. Thanks.  I'm experimenting with it now and it looks great - especially since I don't have to write it. --Kainaw (talk) 19:58, 28 March 2007 (UTC)

email
How can one determine if a received email message was sent from the USA or from outside the USA?


 * In general, you can't. For example, when I use an Austrian cybercafe to send from my gmail account (which is sort of associated with my Oregon, USA address), how would anyone know?  Google might, but they aren't going to share the information.  I don't suppose you can email them and ask them where they are?  —EncMstr 20:17, 28 March 2007 (UTC)
 * When you receive an email about the only thing left which describes its history is the email headers, unfortunately the very nature of email means email headers are notoriously easy to modify, this would make it just about impossible for anyone to track. If however it has not been modified, there are ways to view the email header and try to ascertain from that the original sending domain and from that possibly the country, but it is by no means a fool proof method. Vespine 04:02, 29 March 2007 (UTC)


 * That's kinda fudging the definition of "sending" the email as I would believe it is the web interface for GMail that initiates the SMTP connection to whatever servers it has, and I assume those servers are in the US. I mean, I could use VNC through some ssh tunnel in Russia to some Chinese computer and then telnet from that Chinese computer back over to some server in Oregon to send an email to the next room.  The "data" of the email body, subject, recipients certainly is going all over the place, but the actual "email" is sent possibly even locally to a user on the same machine that I telneted to without even touching a SMTP server, (just an example, I don't live in Oregon).


 * I really don't know enough about the SMTP protocol to say this is always the case, but often you can see the originating (SMTP server) mailer through the email headers, and use that as a judge. Root4(one) 03:56, 29 March 2007 (UTC)

Sticky "" - keys on keyboard
On my standard USA keyboard (using Windows XP) I have problems with ' or " keys. For some reason when the key is pressed once nothing is typed.  When any following key is pressed then ' or " sign appears on the screen along with the sign pressed (two come together). Reinstalling keyboard driver does not help. How do I make it type ' or " after one key pressing? - Fo63 20:55, 28 March 2007 (UTC)


 * Is Windows configured to use a USA keyboard? I know when I moved to Holland I was confronted by this weird behaviour that you describe (pressing the " (shift+2) key followed by SPACE gets me a " without a space). I don't understand what the benefit is to it. I'm not sure how to change it once Windows is installed, but there must be a way. Try checking 'Regional and language options' in the control panel and make sure there's nothing European in there. --Seans Potato Business 22:15, 28 March 2007 (UTC)


 * Perhaps it is/was a way to generate umlauts (e.g., ü). See compose key.


 * Atlant 22:32, 28 March 2007 (UTC)


 * It looks like the normal behaviour for USA keyboards with a layout for languages where accented characters are common (for instance, on the common Brazilian layout for USA keyboards, typing 'a gives you á, and "u gives you ü; the ABNT2 keyboard has separate keys for the accents and the quotes). See dead key for more information. --cesarb 00:22, 29 March 2007 (UTC)

Future of open-source projects
I'm just wondering about these open-source software projects such as openSUSE and Ubuntu etc. Since for-profit companies are involved, couldn't they be reaping all this work from volunteers and then when/if Linux use hits a certain percentage and it becomes economically viable, couldn't they just start charging for the lot with no free downloads? Since OpenOffice is released under the LGPL, I'm guessing this means Sun can't do that? But what about Novell? --Seans Potato Business 22:10, 28 March 2007 (UTC)
 * They could start charging, but there is no way they could prevent anyone else from distributing them for free - their open source licenses will almost certainly insist that the same license remains with the work and any derivatives. →Ollie (talk • contribs) 22:17, 28 March 2007 (UTC)
 * A number of Linux distros are provided on a charged basis. Both Red Hat and SUSE have charged for Enterprise versions, though your payment is mostly towards the additional technical support that these products have.  The main guarrenty that Linux as an entity will remain free (if not the indivdual flavours of the OS) is that the original source code was released under the GNU licence and all derivate works HAVE to also comply with this license to remain legal.  Even if every single Linux provider decided to become exclusively fee based it would be very possible for a third party to create another free Linux distro very quickly. Elaverick 22:56, 28 March 2007 (UTC)

mp3 player (moved from WP:RD/M)
I have an RCA Lyra mp3 player, not sure of the the model but its a 2GB flash player with MP3, WMA and FM radio capability. Heres the problem: when i plug it in to my XP-based computer, it pops up in My Computer as an Audio Device, not a usb mass storage device. it doesnt have a drive letter and its folders dont behave normally (with regards to drag and drop, copy and paste, and the menu u get when u right click). how can i stop the computer from recognizing it as an mp3 player and just treating it like a usb thumb drive? i've done it with other mp3 players before.. why is it not working now? im hoping i wont have to install anything. RCA's stupid useless website doesnt help and a quick google doesnt bring up anything useful. Can you.. or can you tell me who can? —The preceding unsigned comment was added by 209.53.180.84 (talk) 22:04, 28 March 2007 (UTC).


 * Are you sure the device does, in fact, report itself as a USB MSC (mass-storage class)? If the device itself doesn't support being accessed as a mass storage device, there's little to nothing you can do.  From your description, it sounds like this MP3 player is a MTP device. -- mattb

The consumer review website
I was about to contribute a review about a pair of bluetooth headphones I've been wearing to a consumer review website. I did a search on google, not realising just how many consumer review sites there were. Is there a "the" consumer review site? The idea doesn't work as well if people's contributions are split across several sites (I guess it keeps them from charging money for access) (imagine competing Wikipedias) --Seans Potato Business 23:05, 28 March 2007 (UTC)
 * The industry is to big for a "The" monopoly but CNET is one of the largest sites for reviews and consumer reviews for just about everything tech or gadgets related. http://cnet.com —The preceding unsigned comment was added by 209.53.180.34 (talk) 01:51, 29 March 2007 (UTC).
 * Slashdot is good for it. And free. And hilarious. Cernen Xanthine Katrena 11:25, 31 March 2007 (UTC)