Wikipedia:Reference desk/Archives/Computing/2008 July 10

From Wikipedia, the free encyclopedia
Computing desk
< July 9 << Jun | July | Aug >> July 11 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


July 10[edit]

How does one save two versions of a file in VB.NET[edit]

I'm trying to save two copies of a file in a VB.NET program - one version with extra formatting, the other version "raw" to make it easier for the program to read it.

Here's the gist of my code so far:

Dim ImportantFunction As System.IO.StreamWriter
Dim Save As New SaveFileDialog()
Save.Filter = "Plain Text Files (*.txt)|*.txt|All files 
 (*.*)|*.*"
Save.CheckPathExists = True
Save.Title = "Save"
Save.ShowDialog(Me)
 Try
  ImportantFunction = System.IO.File.CreateText(Save.FileName)
  ImportantFunction.WriteLine()
  ImportantFunction.WriteLine(TextBox1.Text)
 End Try

I want to save a second version of this file at the same time, using the same filename that the user inputted earlier, but with a different extension. So, for instance, if the user saves the file as "foo.txt", the program would also save a slightly different version (without the extra linebreaks, for instance) in "foo.sav". --Badger Drink (talk) 00:41, 10 July 2008 (UTC)[reply]

After you show the dialog, the filename that the user selected is going to be saved in Save.Filename or something like that. Just grab that as a string, remove the extension (easy to do with string manipulation, just clean off all text after the last period), add on the new one, then plug that into your function.
Or maybe I don't understand the question? I'll avoid questioning the wisdom of saving two different copies of the same file, even though it sounds like bad programming practices at play to me. --98.217.8.46 (talk) 02:46, 10 July 2008 (UTC)[reply]
Oh, it's most assuredly terrible programming practices, but as this program is only for my own personal use, I would much rather do things the way I'm most comfortable with =) In this case, I want to have one file with formatting and section breaks, and one file that's basically a step up from a CSV, which will make Open.File a lot easier (I loathe string manipulation). Having separate dialogs for "save .txt" and "save .dat" is cumbersome. --Badger Drink (talk) 03:57, 10 July 2008 (UTC)[reply]
Well, keeping in your comfort zone is no way to learn... and string manipulation is pretty vital and worth getting "comfortable" with... and having the same file split into two parts is a recipe for screwing something up, but anyway... --98.217.8.46 (talk) 12:48, 10 July 2008 (UTC)[reply]
If you give a man a fish, he'll be fed for a day. If you teach a man to fish, he'll be fed for life. If you insist that the man row his boat to a certain set of GPS coordinates, throw the rod in a precise 254-degree arc, and reel in with a 5/4 6/8 alternating rhythm, you're acting like a computer programmer. --Badger Drink (talk) 17:44, 10 July 2008 (UTC)[reply]
I'm no full time computer programmer, and I recognize fully well the value of tailoring your work to your particular situation, but we're talking about simple string manipulation here, not regexes. What you're suggesting is just a bad path to go down—in the end I think it'll lead to more work than just doing it the "right" way the first time. The reason one adopts good programming habits is not because of some sacred law about it, but because they don't lead to as many bugs and problems as bad practices too. But hey man, it's your time—spend it how you like! I'm just trying to help out. --140.247.249.99 (talk) 17:55, 10 July 2008 (UTC)[reply]

Searching for URLs[edit]

Hey everyone. Is it possible to search for URLs that are linked to from a webpage? What I mean is something similar to how I can search for a piece of text on a webpage by hitting ctrl+f and typing in the text I'm looking for, but instead typing in a URL, or part of a URL, and seeing if it is linked to somewhere on the page. Hammer Raccoon (talk) 09:08, 10 July 2008 (UTC)[reply]

I can't find any way to do exactly what you're asking, but you could open the source and hit ctrl+f to search within that. Hit Ctrl+u in Firefox or go to View > Source in Internet Explorer. — Matt Eason (Talk &#149; Contribs) 10:39, 10 July 2008 (UTC)[reply]
That's great, thanks! Hammer Raccoon (talk) 19:07, 10 July 2008 (UTC)[reply]

YouTube[edit]

What is the shortest lifespan of a YouTube account? I kept mine for just five days. 208.76.245.162 (talk) 10:04, 10 July 2008 (UTC)[reply]

I had mine for about 30secs, watched a video and then forgot the password.. does that count? Is it possible to be banned?87.102.86.73 (talk) 10:32, 10 July 2008 (UTC)[reply]
How do you define the end of the lifespan of a YouTube account? Just because you don't use the account doesn't mean it doesn't exist. It is still there and, for some strange reason, you may decide to use it again in the future. Do you then refer to it as a born again account? -- kainaw 13:02, 10 July 2008 (UTC)[reply]


If you load porn onto your youtube Account it can be suspended just a few minutes after you created it, but it usually takes a few hours . Try this experiment. Search for pornography on youtube (if your over 18!). Make sure you select Relevance = Date added. You'll get the video's posted in the last few minutes. There's always someone putting porn on youtube so I guarantee a few will come up. Then try again a few hours later and those accounts have (usually) been disabled. They're quick. Iiidonkeyiii (talk) 13:12, 10 July 2008 (UTC)[reply]

ip & CCTV Camera[edit]

what advantages have IP cameras over CCTV

Hemant Kumar —Preceding unsigned comment added by 86.96.227.70 (talk) 10:20, 10 July 2008 (UTC)[reply]

If you consider it an advantage, you can view an IP camera from any Internet connection. This allows for surveillance from a remote location. It is merely opinion of this is an advantage or not. You are much better off asking what the differences are instead of advantages. -- kainaw 13:00, 10 July 2008 (UTC)[reply]

Hiding WHOIS info[edit]

Is there a free way to hide one's whois information? I am not asking legal advice! Thanks, --217.227.108.232 (talk) 12:58, 10 July 2008 (UTC)[reply]

Most registrars allow you to pay extra to have an anonymous whois entry. -- kainaw 13:00, 10 July 2008 (UTC)[reply]
yes, but in these case the owner of your registry is the registrar. —Preceding unsigned comment added by 87.220.40.59 (talk) 13:02, 10 July 2008 (UTC)[reply]
Me no wanna pay $12,99! Surely there is a free way? --217.227.108.232 (talk) 13:07, 10 July 2008 (UTC)[reply]
Just pony up the thirteen bucks. ICANN specifically requires the DNS-record to have an owner (with phone-numer and stuff), and if you want some one else to take over that responsibility, it's going to cost you. So no, I highly doubt that there is a free way. --Oskar 14:15, 10 July 2008 (UTC)[reply]
And, I'm guessing that if it comes down to the boys in blue knocking on the door with a warrant, you will no longer be anonymous. Gzuckier (talk) 14:59, 10 July 2008 (UTC)[reply]
But will you still be legion? --Badger Drink (talk) 17:47, 10 July 2008 (UTC)[reply]

Optical driver for laptops[edit]

Are all optical drivers for laptops compatible with each other? I mean, can I take one device (say a cd-rom reader) of an old laptop and connect it on a new one (and the other way round)? —Preceding unsigned comment added by 87.220.40.59 (talk) 13:01, 10 July 2008 (UTC)[reply]

Maybe I'm not understanding correctly, but yes, you can usually swap hardware no problem. The drivers might not be exactly the same but that's usually easy to remedy—you just find the appropriate driver and install it on the software side of things. With laptops the biggest problem is usually "does it fit the housing of the laptop", since space is very tight on new laptops. --98.217.8.46 (talk) 14:54, 10 July 2008 (UTC)[reply]
Well, and if I want to order one online, how can I discover what cd-rom reader or dvd burner fit my laptop? —Preceding unsigned comment added by 88.6.158.156 (talk) 16:23, 10 July 2008 (UTC)[reply]
I suppose you mean optical drive (and not driver). The drive may be in most cases the same, but the case may be different for every laptop. —Preceding unsigned comment added by Mr.K. (talkcontribs) 16:28, 10 July 2008 (UTC)[reply]
I would look up what your manufacturer offers, they'll surely fit. You don't have to buy the drive from said manufacturer, just get the make and model. --140.247.249.99 (talk) 17:53, 10 July 2008 (UTC)[reply]
Have laptops started to use SATA for their optical drives yet? If they have this is another potential problem. Nil Einne (talk) 13:45, 12 July 2008 (UTC)[reply]

Burning .nrg without Nero...?[edit]

Hi (again). I'm looking for free software (for WinXP) that might be able to burn a .nrg file but that's not Nero, does something like that exist? I looked at most of the programs listed on CD burning software, but I couldn't find any that mention the ability to do so. Or, do I need to convert it to an ISO in order to burn it without Nero? What would you recommend me to do? Thanks in advance, Kreachure (talk) 16:16, 10 July 2008 (UTC)[reply]

NRG (file format) lists some converters. -- Finlay McWalter | Talk 16:26, 10 July 2008 (UTC)[reply]
So do I need to convert it? Kreachure (talk) 16:36, 10 July 2008 (UTC)[reply]
You can use ImgBurn. It supports NRG images. --grawity 18:45, 10 July 2008 (UTC)[reply]
Thank you. Kreachure (talk) 19:20, 10 July 2008 (UTC)[reply]

Reverse Lookup on local network[edit]

I know that one requires access to the reverse lookup table in a dns server when trying to edit the reverse lookup of their ip address. But what about the reverse lookup in a lan environment (usually ip addresses in the range of 192.168.1.xxx)? the dns reverse lookup of these addresses is the name of the computer. What generates this? Is it some program on my computer or is it something else? can I add aliases? thanks --69.74.33.222 (talk) 16:38, 10 July 2008 (UTC)[reply]

Your local DNS server. Or /etc/hosts. Or a combination of both. The DNS server can fill the reverse zone with "dynamic updates" that the other machines send, if it trusts them not to lie about their names. --tcsetattr (talk / contribs) 20:09, 10 July 2008 (UTC)[reply]
With most Windows computers, it's actually the NetBIOS name that local ip addresses resolve to. The NetBIOS name service broadcasts the name of each computer to the rest of the computers on a network. The specific name is generated by the hostname of the computer. Although unrelated, you can add aliases to other computers by editing your hosts file. Indeterminate (talk) 23:50, 10 July 2008 (UTC)[reply]

Very possibly, it's phishing ...[edit]

I was on the MSN (client: Miranda IM). A friend of mine is on a trip. I did not see her online. "She" sends me a message "[HER MSN ID]"@imagrshak.info ". And I clicked it. The system requests your MSN account and password because the image album is reserved for "friends."

The domain name is suspicious. The request of login information is ... . I guess its phishing. I just have no idea how they managed to penetrate the MSN system. After all, M$ services are supposedly strong and properly protected, aren't they? -- Toytoy (talk) 16:41, 10 July 2008 (UTC)[reply]

It sounds like phishing, sure. But what kind of system penetration are we talking about here? Is it possible that she, for example, fell for this, and thus gave these guys her login info and, though that, access to her contact list, which in turn led them to you? I mean, just by pointing your browser to http://www.imagrshak.info, you can see that login screen; she could've run into it anywhere. (The name is a take on ImageShack, of course, which is a far more legitimate site.) They don't need to hack their way anywhere when a bit of simple social engineering will do. I'd bet it doesn't have anything to do with Microsoft's security. -- Captain Disdain (talk) 17:40, 10 July 2008 (UTC)[reply]
There actually have been automated phishing MSN bots. I've never had one myself, and the only times I've been on the receiving end of it were from ancient contacts I no longer spoke to, so that's about all the detail I can provide. --Badger Drink (talk) 17:49, 10 July 2008 (UTC)[reply]
Sure, but an automated MSN phishing bot wouldn't be able to log in with the poster's friend's account and send a message to him "from her" unless she either gave the malevolent party her login information or they managed to somehow make their way into the system and steal her login information. I think the first set of circumstances is the more likely one here. -- Captain Disdain (talk) 19:19, 10 July 2008 (UTC)[reply]
The OP was stating that the site was asking for login information. It's feasible that it uses said information to send more emails/IMs convincing yet more people to give away their information. This would be similar to the way plain IM worms work; though those convince people to download files rather than giving login information, the effect is the same. 24.76.161.28 (talk) 06:23, 12 July 2008 (UTC)[reply]
Uh, yeah, that's what I thought I was saying, actually. Agreed. -- Captain Disdain (talk) 09:22, 14 July 2008 (UTC)[reply]

The weakest links in any security system are not technical, but personal. Hook a million people up to the internet, ask each of them to enter their login information, and you'll probably get a decent return no matter how shady it is. --140.247.249.99 (talk) 17:50, 10 July 2008 (UTC)[reply]

It's a well-known scam - the reason it's not easy to find is because they use so many domains. [1] x42bn6 Talk Mess 21:26, 10 July 2008 (UTC)[reply]

I still have no knowledge how to identify a spam bot or other internet bot. How do I understand an IP edited wikis like wikipedia is a bot? Otolemur crassicaudatus (talk) 20:19, 10 July 2008 (UTC)[reply]

Bots on Wikipedia need to be preapproved to work outside their own homes (their own page and talk page). If a bot is operating as an unregistered user, it is very likely that it is an unauthorized bot. Do you have any particular incident in mind, Otolemur? Please let us know. Kushal (talk) 14:25, 11 July 2008 (UTC)[reply]

Efficient Programming[edit]

Resolved
 – StuRat (talk) 03:40, 12 July 2008 (UTC)[reply]

I don't know if this belongs in the Math section or here. But I am trying to write a program and at one point, I need to come up with all 9 digit numbers which all have unique digits. I need to write a loop over all such number. For example, if I was going over all 9 digit numbers, I would just start with n=1000000000, increment n by one, and then stop when n=999999999. But in this case, I want to start with something like n=123456789 and then skip over all the numbers until I get n=123456798 and so on. Since there are a lot of such numbers, the program will take forever to run. Is there any trick or some efficient programming I can use to generate such permutations?--A Real Kaiser (talk) 21:09, 10 July 2008 (UTC)[reply]

If you want speed, the usual solution is to use a lookup table instead of a calculation. I assume that you mean that you want a 9 digit number in which no single digit is repeated twice. So, 123456781 is invalid since the 1 is repeated twice. I also assume that 0 is a valid digit even though your examples don't clearly make that point. If so, there are 10×9×8×7×6×5×4×3×2=3628800 possible numbers. In most programming languages it takes 32 bits to store a 9-digit number. So, you need 3628800×32=116121600bits=13.8MB to store every possible combination. You run a long program once to fill your lookup file of every combination - in numerical order. Then, when given a start/end, you locate the starting number in the file and the ending number in the file and just print out all the numbers in between. -- kainaw 21:18, 10 July 2008 (UTC)[reply]

Sorry I didn't clarify before. Your assumptions are correct. Numbers like 123456781 are invalid and numbers like 987654321 are valid because no digit repeats twice. All nine digits are distinct. And zero is not allowed to be an integer so something like 103456789 is also invalid. So taking your advice, if I was to write a mini program, which would generate all such numbers and then write them in a (text) file, the original question remains. How can such numbers be generated systematically so that no numbers are skipped? For my purposes, the numbers don't have to be in order but I need to list ALL such numbers between (and including) 123456789 and 987654321 which do not repeat any digits and do not contain the digit zero. But I am guessing that going in order is perhaps the easiest. So the question is how to generate all possible permutations of 123456789? Once, I have written all the numbers in a file, I can then read off the file and go down the list.--A Real Kaiser (talk) 21:55, 10 July 2008 (UTC)[reply]

There are numerous methods - you could just loop from 1 to 999999999 (or from 123456789 to 987654321) and check each number in turn for validity.
Alternatively you could write a loop for each digit.
eg
a$="1234567890" comment I've assumed that a$(1)="1" a$(2)="2" etc
b$=""
for a1=1 to 9
b$=b$+a$(a1): a$=left$(a$,a1-1) + right$(a$,a1+1) here a$ has the used digit removed replace left$ and right$ functions with whatever is applicable
for a2=1 to 8
b$=b$+a$(a2): a$=left$(a$,a2-1) + right$(a$,a2+1)
for a3=1 to 7
b$=b$+a$(a3): a$=left$(a$,a3-1) + right$(a$,a3+1)
for a4=1 to 6
b$=b$+a$(a4): a$=left$(a$,a4-1) + right$(a$,a4+1)
for a5=1 to 5
b$=b$+a$(a5): a$=left$(a$,a5-1) + right$(a$,a5+1)
for a6=1 to 4
b$=b$+a$(a6): a$=left$(a$,a6-1) + right$(a$,a6+1)
for a7=1 to 3
b$=b$+a$(a7): a$=left$(a$,a7-1) + right$(a$,a7+1)
for a8=1 to 2
b$=b$+a$(a8): a$=left$(a$,a8-1) + right$(a$,a8+1)
b$=b$+a$(1)
Print b$
a$="123456789" :b$=""
next a2 :next a3 :next a4 :next a5 :next a6 :next a7 :next a8 :next a9 : end

There are more complex solutions that can deal with more or less digits, or even different bases. Did the above example make sense?87.102.86.73 (talk) 22:44, 10 July 2008 (UTC) The above example is not perfect (I'll leave it to you to see how) but it should give you an idea of how to write a program that rapidly skips whole sets of numbers without going through the thousands in between...87.102.86.73 (talk) 22:49, 10 July 2008 (UTC)[reply]

I once worked out a simple recursive way of doing this in Visual Basic (or more specifically Visual Basic for Applications in Excel). I posted it to an Excel newsgroup: see the posting here. The basic idea is (in your case) to start with the set {1,2,3,4,5,6,7,8,9}, and then for each element generate the set of permutations of the smaller set obtained by removing the element, and prefix each of these permutations with the element. AndrewWTaylor (talk) 22:32, 10 July 2008 (UTC)[reply]
That's a classic way to generate permutations, but there are other ways to do it, see Permutation#Numbering permutations. --Oskar 02:42, 11 July 2008 (UTC)[reply]
How about this (forgive me if this is the same as another method mentioned):
NB_FOUND = 0
DO A = 1 TO 9
 DO B = 1 TO 9
  IF (A≠B) THEN
   DO C = 1 TO 9
    IF (A≠C)&(B≠C) THEN
     DO D = 1 TO 9
      IF (A≠D)&(B≠D)&(C≠D) THEN
       DO E = 1 TO 9
        IF (A≠E)&(B≠E)&(C≠E)&(D≠E) THEN
         DO F = 1 TO 9
          IF (A≠F)&(B≠F)&(C≠F)&(D≠F)&(E≠F) THEN
           DO G = 1 TO 9
            IF (A≠G)&(B≠G)&(C≠G)&(D≠G)&(E≠G)&(F≠G) THEN
             DO H = 1 TO 9
              IF (A≠H)&(B≠H)&(C≠H)&(D≠H)&(E≠H)&(F≠H)&(G≠H) THEN
               DO I = 1 TO 9
                IF (A≠I)&(B≠I)&(C≠I)&(D≠I)&(E≠I)&(F≠I)&(G≠I)&(H≠I) THEN
                 NB_FOUND = NB_FOUND + 1
                 ARRAY(NB_FOUND) = 100000000*A 
                                 + 10000000*B
                                 + 1000000*C 
                                 + 100000*D 
                                 + 10000*E 
                                 + 1000*F 
                                 + 100*G 
                                 + 10*H 
                                 +   I
                ENDIF
               ENDDO
              ENDIF
             ENDDO
            ENDIF
           ENDDO
          ENDIF
         ENDDO
        ENDIF
       ENDDO
      ENDIF
     ENDDO
    ENDIF
   ENDDO
  ENDIF
 ENDDO
ENDDO
All variables are integers (and a one-dimensional array of integers). You could make this into a recursive procedure, but, although this might reduce the number of lines in the program, it wouldn't reduce the number of operations performed, and there is often a lot of overhead with recursive calls, so that might make it slower. StuRat (talk) 22:26, 11 July 2008 (UTC)[reply]

Thanks everyone, I got it now.--A Real Kaiser (talk) 00:11, 12 July 2008 (UTC)[reply]

And note that if you're worried about speed/efficiency, avoid strings. They take a lot more overhead than integers and other numbers, and string concatenation, depending on the language, can sometimes be outrageously slow. --98.217.8.46 (talk) 03:37, 12 July 2008 (UTC)[reply]
Agreed. That's why my solution used integers only. StuRat (talk) 03:40, 12 July 2008 (UTC)[reply]
Don't use this method! This is a terrible, terrible way to generate permutations! Your method loops through ALL configurations of nine decimal numbers, which is 9^10! This is totally unnecessary, since there are only 9! permutations. Your method is approximately 2700 times slower than a better solution! Seriously, this is a terrible, terrible algorithm. Use any of the algorithms here instead, they're much much better.
And by the way, "recursive overhead"? WTF? The stack is AT MOST ten levels deep, the recursive overhead is virtually nil, and, again, considering the fact that this algorithm is 2700 times slower than it needs to be, I'd take a little recursion any day.
Seriously, this is not very good code. --Oskar 08:57, 13 July 2008 (UTC)[reply]
By the way, I generated all of them, I have them in a 3.8 mb file. Kaiser, if you send me your email address (through the "Email this user" function"), I can send it to you. --Oskar 09:39, 13 July 2008 (UTC)[reply]
what the fuck are you on about? The method above clearly skips ALL the repeated numbers eg All numbers from 110000000 to 119999999 are skipped in one instructions - try re-reading it.87.102.86.73 (talk) 13:43, 13 July 2008 (UTC)[reply]
That's what the IF .. THEN ... DO s are for...87.102.86.73 (talk) 15:06, 13 July 2008 (UTC)[reply]
Thanks, 87.102.86.73, I didn't think it necessary to explain what the IFs were for, but apparently I was wrong. I wrote up my program in FORTRAN (source code here: [2]), and it filled the array with all 362880 numbers in 0.34 second on my crappy old 500 MHz computer running Windows 98. I then wrote a version using the substring method describing previously (source code shown here: [3]), and it was slightly faster, at 0.33 second per run. It would, of course, take much longer to save all those values to a file or, God forbid, print them all out, but that has nothing to do with the method used to find the numbers. Let me know if you want a copy of the executables e-mailed to you.
And Oskar, if you really do have a method that's 2700 times faster, meaning it completes in 1/8000 of a second, I'd love to see it. My concern on recursive calls isn't the number of levels of recursion, but rather the total number of recursive calls. If a call is made every time a new digit is placed in one of the 362880 values, that would be 9×362880 or 3265920 calls. If we assume just 1/1000 of a second overhead per call, that would take 3266 seconds, or over 54 minutes. StuRat (talk) 23:29, 13 July 2008 (UTC)[reply]
stuff moved to question below : see Wikipedia:Reference desk/Computing#optimise87.102.86.73 (talk) 21:44, 13 July 2008 (UTC)[reply]

sql[edit]

What does the 'Fix" command mean in sql? —Preceding unsigned comment added by 12.153.253.3 (talk) 22:00, 10 July 2008 (UTC)[reply]

In what context? Microsoft SQL Server? Oracle? Sybase? MySQL? ANSI SQL? -- Tcncv (talk) 05:04, 11 July 2008 (UTC)[reply]

Microsoft SQL server —Preceding unsigned comment added by 12.153.253.3 (talk) 16:16, 11 July 2008 (UTC)[reply]

Printer randomly prints the new tab screen of IE7[edit]

First off, in case it means something: I have a dell photo 926 all-in-one printer and I use Windows Vista Basic SP1. Two times now, when I'm using the internet with IE7, I've opened a new tab and my printer prints the new tab screen without me trying to print anything. It's annoying and it wastes my ink which is so expensive. Any ideas?--96.227.17.224 (talk) 23:40, 10 July 2008 (UTC)[reply]

Try another (better) browser, like Firefox or Opera ? StuRat (talk) 21:40, 11 July 2008 (UTC)[reply]
What happens when the printer is unplugged? Does it still try to print? What about if you unplug it, reboot the computer, and try it again? (Since that would unload the printer drivers, etc.) Speaking of which, have you tried updating the printer's drivers? —Preceding unsigned comment added by Aaron Rotenberg (talkcontribs) 22:16, 11 July 2008 (UTC)[reply]
IE7 comes with a printer button on the toolbar by default. At least in Windows Vista Ultimate, there is also home and RSS feeds buttons inbetween the printer and new tab button but if for some reason these don't occur in your IE7, it would be rather easy to click on the printer button by mistake. If you don't want the print button at all then just remove it (right click on the toolbar), choose customise command bar, add or remove commands and then remove print. Alternatively just place print as far as possible from the new tabs button. I don't really see this could be construed as a bug with IE7 so blaming it aka StuRat seems pointless to me Nil Einne (talk) 13:41, 12 July 2008 (UTC)[reply]
Well, there was a car model which had to be redesigned because they placed the brake pedal too close to the accelerator, resulting in many accidents, so placement of controls (default in this case) is important. Then there is also the need for an "OK"/"Cancel" button when Print is picked. This is an extra keyclick, but seems justified to prevent a 100-page print from being sent to the printer accidentally, especially considering how difficult it is to stop a print once sent. StuRat (talk) 15:09, 12 July 2008 (UTC)[reply]
Well as said, by default as far as I'm aware there are always at least two tabs between print and the new tab icon (and this is presuming you have enough tabs that the new tab icon is at the end). As to why the print tab doesn't ask for confirmation, I'm not sure, normal file, print does, I guess it has to do with the "Most people are stupid" attitude that MS adopts. Although realisticly, I don't know of many 100 page webpages, sounds like an incredibly badly designed page to me... Speaking of defaults, Firefox 3 still has the dumb new tab defaults of FF2 where they open the new tab at the end which I find incredibly annoying. Regardless, whatever poor design decisions FF and IE may have made, none of these are bugs IMHO Nil Einne (talk) 21:07, 15 July 2008 (UTC)[reply]

Firefox 3.0[edit]

I downloaded the newest version of Firefox the day after it was released. Just recently I have had problems with pages loading extremely slowly. This has just begun recently. Sometimes pages will only load about half way and then quit loading. I looked in tools>error console. Here it shows many warnings and errors. The two errors it displays are "Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.queryCommandEnabled]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikEd.js&action=raw&ctype=text/javascript :: anonymous :: line 5218" data: no] Source File: http://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikEd.js&action=raw&ctype=text/javascript Line: 5218" and "Error: Permission denied to call method Location.toString". The first one, however, occurs with varying URLs. The warnings are as follows: "Warning: Expected end of value for property but found ';'. Error in parsing value for property 'content'. Declaration dropped. Source File: http://news.cnet.com/8301-10784_3-9970628-7.html?hhTest=1 Line: 0", "Warning: Error in parsing value for property 'text-align'. Declaration dropped. Source File: http://news.cnet.com/8301-10784_3-9970628-7.html?hhTest=1 Line: 1372", "Warning: Expected end of value for property but found 'default'. Error in parsing value for property 'list-style'. Declaration dropped. Source File: http://news.cnet.com/8301-10784_3-9970628-7.html?hhTest=1 Line: 1372", "Warning: Expected declaration but found '*'. Skipped to next declaration. Source File: http://i.i.com.com/cnwk.1d/css/rb/tiburon/blogs.css Line: 349", etc. There are many of these. They contain varying URLs and Unknown/Unable to parse values. Can anyone tell me what's going on and how to fix it? It is becoming extremely frustrating. It took me about five minutes to load this edit box before I could even begin to type my question. Thank you, Ζρς ι'β' ¡hábleme! 23:59, 10 July 2008 (UTC)[reply]