Jump to content

Wikipedia:Reference desk/Computing

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 71.141.97.250 (talk) at 16:14, 21 August 2010 (→‎Student laptop webcam surveillance). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Welcome to the computing section
of the Wikipedia reference desk.
Select a section:
Want a faster answer?

Main page: Help searching Wikipedia

   

How can I get my question answered?

  • Select the section of the desk that best fits the general topic of your question (see the navigation column to the right).
  • Post your question to only one section, providing a short header that gives the topic of your question.
  • Type '~~~~' (that is, four tilde characters) at the end – this signs and dates your contribution so we know who wrote what and when.
  • Don't post personal contact information – it will be removed. Any answers will be provided here.
  • Please be as specific as possible, and include all relevant context – the usefulness of answers may depend on the context.
  • Note:
    • We don't answer (and may remove) questions that require medical diagnosis or legal advice.
    • We don't answer requests for opinions, predictions or debate.
    • We don't do your homework for you, though we'll help you past the stuck point.
    • We don't conduct original research or provide a free source of ideas, but we'll help you find information you need.



How do I answer a question?

Main page: Wikipedia:Reference desk/Guidelines

  • The best answers address the question directly, and back up facts with wikilinks and links to sources. Do not edit others' comments and do not give any medical or legal advice.
See also:


August 16

How much information on web browsing habits is accessible from the main node in a home network?

Without going into too much detail on my particular situation(it's complicated), let's just say that the administrator of my network I use at home has become extremely untrustworthy and has made some threats to me, and I suspect they may attempt blackmail if they can obtain any sensitive or embarrassing information. Setting up a second network is not an option at this time, nor is simply avoiding the network altogether, as I'm a student and have work that needs done over the internet while I'm not at the university(where I have to use an insecure wireless network anyway, so it's not suitable for many non-school tasks). And I know what everybody will assume here, but I am a legal adult and the administrator in question is not my parent, so I'm not attempting to subvert any authority with my actions.

My question is, how much information can they intercept or access from the computer that controls the router/wireless access point? I'm pretty sure they can intercept any packets I send, unless I encrypt them, but would they be able to access any lists of web sites I've viewed? I'm not talking about the internet history(though I do clear that), but is there a list of urls(or server addresses) accessed by my computer saved on the router that they might access? The router in question is an airport extreme, though I'm not certain of any exact model numbers as I didn't set it up. I've done what I can to minimize the possibility of most of the threats made, but I don't know enough about the router options to judge if this one holds any water.

Also, are there any security precautions I should take? I don't run as the root/admin user as a rule, and I've physically unplugged my desktop pc from the network except when I (rarely) need to connect to the internet. My laptop uses the wireless connection though, and I'm not sure of anything else I can do to make it more secure, apart from enabling encryption where I can.

69.243.51.81 (talk) 05:01, 16 August 2010 (UTC)[reply]

1. Obviously, you should move elsewhere. 2. Yes, they can stream to their PC a list of the websites you visit. Comet Tuttle (talk) 05:43, 16 August 2010 (UTC)[reply]
You should consider using a secure tunnel to a trusted proxy server; or, use a secure tunnel to a Tor network. These will obfuscate your web viewing habits. Note that even if your connection is encrypted, the administrator can know what the destination of that secure tunnel is - so that is why you should use a proxy server. The administrator will only be able to know that you are making encrypted connections to the proxy - they will be unable to trace what the proxy is relaying for you. Your university may host remote-access servers, which you can use as secure proxies. Nimur (talk) 08:16, 16 August 2010 (UTC)[reply]
If you have or can get a Unix shell account from your school or your ISP, you can use the -D option of PuTTY or OpenSSH to turn that into a SOCKS proxy, which you can then use in the same way you'd use Tor (which also runs as a SOCKS proxy). The advantages are that it's much faster, and the proxy (which can see all of your traffic) is administered by your school or your ISP, instead of some random person who happens to be running a Tor exit node. -- BenRG (talk) 19:40, 16 August 2010 (UTC)[reply]

SAP

What are the advantages of SAP Reporting tool? What are the types of SAP Reports available? Thank you for the answers. —Preceding unsigned comment added by 61.246.57.2 (talk) 05:38, 16 August 2010 (UTC)[reply]

Haskell functions - instances of the Eq class?

I've been told that in general it isn't feasible for function types to be instances of the Eq class in general, though sometimes it is. Why isn't it feasible in general and when is it feasible? Surely functions are equal if they return equal values for equal arguments and not equal if they don't? SlakaJ (talk) 07:44, 16 August 2010 (UTC)[reply]

Function equivalence is undecidable in general. You can't compare every return value if the domain is infinite, and even if it's finite, the function might run forever when applied to certain arguments, and you can't (in general) tell whether it will run forever or just slightly longer than you've tried running it so far. You could write an instance like (Data a, Eq b) => Eq (a -> b) that would attempt to prove equivalence or inequivalence by trying every argument in turn, but it would fail (by running forever) in many cases. There are families of functions for which equivalence is decidable—for example, primitive recursive functions with finite domains—but there's no way to express constraints like that in Haskell. -- BenRG (talk) 19:28, 16 August 2010 (UTC)[reply]
Thanks very much SlakaJ (talk) 14:07, 17 August 2010 (UTC)[reply]

Maximum # of Cores (i.e. Logical Processors) & Amount of RAM in various Linux Operating-Systems

Hi.

   I want to know what is the maximum number of processing-cores (i.e. logical processors, not physical sockets) and maximum amount of RAM which each of the following Linux operating-systems can support.

  1. Mandriva Linux One 2010
  2. Gentoo 64-bit Linux
  3. Ubuntu 10.04 Linux 32-bit Server Edition
  4. Ubuntu 10.04 Linux 32-bit Desktop Edition
  5. Ubuntu 10.04 Linux 32-bit Netbook Edition
  6. Ubuntu 10.04 Linux 64-bit Server Edition
  7. Ubuntu 10.04 Linux 64-bit Desktop Edition
  8. Fedora 13 Linux 32-bit GNOME Edition
  9. Fedora 13 Linux 32-bit KDE Edition
  10. Fedora 13 Linux 32-bit LXDE Edition
  11. Fedora 13 Linux 32-bit XFCE Edition
  12. Fedora 13 Linux 64-bit GNOME Edition
  13. Fedora 13 Linux 64-bit KDE Edition
  14. Fedora 13 Linux 64-bit LXDE Edition
  15. Fedora 13 Linux 64-bit XFCE Edition
  16. Debian 5.0.4 Linux 64-bit
  17. Sun Microsystems' OpenSolaris 2009.06
  18.    Thank you in advance to all respondents.

    Rocketshiporion
We have articles on all these operating systems (Mandriva Linux, Gentoo Linux, Ubuntu (operating system), Fedora (operating system), Debian & OpenSolaris) but, if system requirements are mentioned at all, it is always to define the minimum requirements and not the maximums. I also took a look at a few of the official sites, but again always the minimum requirements and not the maximums. Most distributions run community forums, so you could try asking there (for example, this post suggests the maximum addressable RAM on 32-bit Ubuntu, without using something called "PAE", is 4GB).
On another subject, it really is not necessary to write your post using HTML markup. Wiki-markup is flexible enough to achieve what you want and shorter to type (for example, simply preceed each line with a # to create a numbered list; no need for all that <ol>...<li>...</li><li>...</li></ol>). A brief guide can be seen on Wikipedia:Cheatsheet. Astronaut (talk) 12:07, 16 August 2010 (UTC)[reply]
PAE is Physical Address Extension. While (absent PAE) a 32bit OS can address 4Gb of memory, that doesn't mean 4Gb of RAM. That 4Gb address space also has to accomodate all the memory-mapped peripherals, particularly the apertures of PCI devices like the graphics adapter. So, in practice, while you can install 4Gb of RAM in a machine running a 32 bit OS, you'll actually see about 3.3 Gb of that. Precisely how much is a function chiefly of the motherboard and the installed adapter cards rather than the OS. For any purpose that needs lots of RAM (where 4Gb these days isn't lots at all) you'd want a 64bit OS. -- Finlay McWalterTalk 12:23, 16 August 2010 (UTC)[reply]
Number of processors and quantity of RAM is not determined by the distribution - it is determined by the kernel. You can "easily" swap out a different kernel to any of the above systems. All of the above distributions (except OpenSolaris, which uses the Solaris kernel), are default-installed with a Linux Kernel version 2.6, (and many will allow you to "easily" substitute a 2.4 kernel if you wanted to). The Linux 2.6 kernel requires SMP support to be enabled if you want to support multiple CPUs; but it can theoretically support an "arbitrary" number of symmetric multiprocessors (if you recompile the kernel, you can specify the maximum number of CPUs you want). The Kernel Configuration Option Reference tells you how to set up SMP (multi-processor) support if you are recompiling your kernel for any of the above. On the other hand, if you are using the kernel distributed with the "default" distribution, make sure that you select an SMP option; the compiled binary will probably have picked a "reasonable" maxcpus parameter. I have several SMP-enabled netbooks running Ubuntu, based on the default "Netbook" distribution - so it's really irrelevant which distribution you pick, if you switch the kernel.
While in theory, you can recompile a 2.6 kernel with maxcpus=arbitrarily_large_integer, it is very unusual to see any kernel binary that supports more than 32 logical x86 cores. At a certain point, if you want more than that, you will probably have a custom system-architecture, and should know what you are doing when re-engineering at the kernel level. Here is detailed information for the SMP linux system-designer (almost 10-years old and out of date, based on Kernel 2.2...). The MultiProcessor Specification defines the architecture for x86 cores; there are similar (but usually proprietary) specifications for MIPSes and ARMS and POWERs ... and Cell processors). The limiting factor will probably be your hardware - whether your BIOS supports symmetric access to physical memory; whether your CPU architectures have a hardware limitation for their cache-coherency protocol. Linux Kernel will abstract all of this (that is what is meant when the term "SMP" is used); but if the hardware does not support that abstraction, you will need to use a NUMA memory architecture and a multi-operating-system parallelization scheme ("node-level parallelism" - see ""why a cluster?") to manage your CPUs, because the actual circuitry does not support true shared-memory programming. With the magic of virtualization, you can make all those operating systems "look" like one unified computer (e.g., Grid Engine and its ilk) - but strictly speaking, these are multiple machines. Though the interface to the programmer is simple and appears to be one giant computer with thousands of CPUs, there is an obvious performance penalty if the programmers choose to pretend that a NUMA-machine is actually a shared-memory machine. Nimur (talk) 16:44, 16 August 2010 (UTC)[reply]
Thank you to Nimur for the information about the maximum cores and RAM being determined by the kernel. Then what is the maximum number of cores and maximum amount of RAM supported by the Linux 2.6.35.2 kernel? And the same in regard of the Solaris kernel? Rocketshiporion Tuesday 7-August-2010, 11:54pm (GMT).
As I mentioned, if you use the default, unmodified SMP kernel distributed with the distributions, the limit is probably 32 CPUs. You can recompile with an arbitrary limit. This will depend on the architecture, too; x86 CPUs use MPS, so 32 seems to be an "upper bound" for the present (2010-ish) system specifications. I suspect that as more Linux kernel hackers learn to love and hate QPI, there will be a major re-engineering effort of the kernel's SMP system (in the next year or two). To learn more about Kernel, consider reading The Linux Kernel, from The Linux Documentation Project (old, but introductory-level); or Basic Linux Kernel Documentation from the folks at kernel.org.
For main memory, x86_64 hardware seems to support up to 44 bits, or 16 terabytes of physical memory (but good luck finding hardware - motherboards, chipsets, and so on, let alone integrated systems); I've seen sparse reference to any actual hardware systems that support more than 64 GB (recent discussion on WP:RDC has suggested that 96GB and even 256 GB main-memory servers are on the horizon of availability). This forum (whose reliability I do not vouch for) says that the 64-bit linux kernels support up to 64 GB with x86_64 and 256 GB with AMD/EMT processors. If you want to dive off the deep-end, SGI/Altix supports up to sixteen terabytes of unified main memory in the Altix UV system (at a steep performance penalty). Commercial Solaris ("from Oracle") discusses maximum performance boosts for one to eight CPUs (though does not specify that as a hard upper-limit). They also support SPARC, x86, and AMD/EMT; their performance benchmarks make some vague claims about advanced memory technologies for large memory systems (without specifying a hard upper boundary). OpenSolaris uses an older version of the Solaris kernel; I can't find hard limits on upper-bounds for number of CPU or RAM (but suspect it's awfully similar to the Linux limitations). Since you're asking, here's why you'd want to use Solaris instead of a Linux kernel: fine-granularity control on SMP utilization. The system-administrator can control, to a much greater level than in linux, the specific processes that bind to specific physical CPUs, and how much time each process may be allocated. Linux kernel basically allows you to set a priority and all a "nice" for each user process, and then throws them all into a "free-for-all" at the kernel scheduler. Solaris gives you much more control (without going so far as to be a real time operating system - a trade-off that means a little bit less than 100% control and a whole let less work on the white-board designing process schedules). I have never personally seen a Solaris machine with more than a gigabyte of RAM (but it's been a long while since I worked with Solaris). Nimur (talk) 07:11, 18 August 2010 (UTC)[reply]

wget

Why is wget v1.12 not available for windows yet? It was released a year ago. I read something about them not being able to port it, what does that even mean? I'm using v1.11 and it works ok on windows, but I want the new css support in version 1.12 82.44.54.4 (talk) 11:16, 16 August 2010 (UTC)[reply]

There are several posts about the Win32 native port of 1.12 on the wget mailing list. This one seems to explain it best - it seems the core of 1.12 introduced some changes that require individual platforms to adapt, and for Win32 "no one did the work." -- Finlay McWalterTalk 12:14, 16 August 2010 (UTC)[reply]
Adding to what Finlay wrote, if you're really desperate for Win32 version of 1.12 then you can get a development version here, although as with all pre-compiled binaries, use at your own risk (although they actually also include the build files so you could probably compile it yourself if you wish).  ZX81  talk 13:42, 16 August 2010 (UTC)[reply]
Cygwin's wget is version 1.12. -- BenRG (talk) 05:29, 17 August 2010 (UTC)[reply]

Problem with Google Chrome

Every time I type certain Chinese characters in the pinyin input method Google Chrome crashes! Why is that? Kayau Voting IS evil 13:51, 16 August 2010 (UTC)[reply]

It's a computer bug. --Sean 18:15, 16 August 2010 (UTC)[reply]
For more technical information, see Google Chrome's bug-report - Chrome has had a long history of IME problems. It seems that Google Pinyin and Google IME might help. What IME are you using? Nimur (talk) 20:21, 18 August 2010 (UTC)[reply]

RAM

hi all this is silly but i have a problem in understanding what does the RAM actually do?? Why do we always prefer for a RAM of bigger size? whats the use? whats the difference between the RAM and processor?```` —Preceding unsigned comment added by Avril6790 (talkcontribs) 14:40, 16 August 2010 (UTC)[reply]

The processor does lots of calculations (everything a computer does is arithmetic once you get down to the lowest levels). The RAM is for storing the instructions for the calculations and the data those calculations are being done on. It it much quicker to read and write information to RAM than to the hard drive, but if there isn't enough RAM to store all the instructions and data that the processor needs or is likely to need in the near future then it will have to use the hard drive (the "swap file", to be precise) to store the extra and that slows everything down. --Tango (talk) 15:04, 16 August 2010 (UTC)[reply]
RAM (Random-access memory) is short-term working space. Its size (in gigabytes) is a measure of how much information can be kept easily accessible. (Programs are themselves information, so even if a program isn't manipulating all that much, it can still take up space on its own.) Hard drives are bigger and more permanent, but immensely slower, because they have moving parts.
The CPU (Central processing unit) manipulates the contents of RAM. A faster CPU can perform computations more quickly.
Nothing could happen without either of them. As it happens, these days, the performance of personal computers for most tasks is limited by RAM size, because modern applications tend to be quite memory-hungry, people like to do tasks involving a large amount of data, and people like to leave a bunch of applications open at once. CPUs spent a great deal of time twiddling their thumbs, waiting for more information, and if the information is coming from RAM, rather than the hard drive, less time is wasted. Paul (Stansifer) 16:35, 16 August 2010 (UTC)[reply]
The "classical" analogy I use in explaining RAM, processing speed, and hard drives (which are all intertwined in practical usage) to people not very computer literate is as follows: imagine you are working at a desk, and your work consists of reading and writing on lots of paper. The desk has deep drawers that contain all of the stored paper you use. That is your hard drive. To use the paper, though, you have to put it on the surface of the desk. The size of the surface is your RAM. Once it is on the surface, there is a limit to how fast you can read, write, edit, whatever, as you go over the paper. This is your processor speed. It is an imprecise analogy in many ways, but perhaps it will be useful as a very basic approach to it. If the surface of the desk is too small, you're constantly having to use the drawers. This slows you down. If the surface is very large, you can have a lot of paper on top to access whenever you want it. If you yourself are quite slow, everything takes longer. And so on. "Faster" RAM involves you being able to move things around quicker once you have it on the surface of the desk. A "faster" hard drive means you can get things in and out of the drawers quicker. A multiple-core processor is kind of as if you, the worker, had been replaced by two or three people all working simultaneously (the main difficulty being that you can't usually all work on the same part of the same problem at once). --Mr.98 (talk) 22:38, 16 August 2010 (UTC)[reply]
Actually, this is not a bad analogy for someone who is knowledgeable about computers, 98! --Ouro (blah blah) 06:00, 17 August 2010 (UTC)[reply]

Firefox links problem

I'm trying to fix a problem on a friend's computer. The main symptom is that, on Firefox, links on certain web pages don't work. The most notable of these is Google. Clicking on any result from a google search will cause the tab to say "loading" and the status bar to say "waiting for..." without any result. Apparently this also happens on other sites (but we couldn't find one to replicate this). This is a problem limited to Firefox, since I tried K-meleon and that works. Oddly, there is no IE on this computer; the application seems to have been accidentally deleted somehow? My friend suspects this is somehow relevant, but I doubt it, since I doubt Firefox depends on IE or any of its dlls, or if it does, K-meleon would too. One point that might matter is that the problem existed on an older version Firefox, and persisted after the update somehow. I tried disabling all add-ons, which didn't help. Any idea what causes this, or what to experiment with? (Supposedly the same problem is causing a general slowing down of browsing, but that might just be confirmation bias.) Card Zero (talk) 16:58, 16 August 2010 (UTC)[reply]

Go to Tools->Options->Network->Settings and try various options in there (if it isn't currently set to auto-detect, try that first, there may also be instructions from whoever supplies your internet connect on what those settings should be). I can't think why problems with the network settings would cause the exact symptoms you describe, but they could explain similar symptoms and it would certainly explain why it works in one browser but not another. --Tango (talk) 17:09, 16 August 2010 (UTC)[reply]
OK, auto-detect didn't help. I put it back to "use the system proxy settings". I'm not quite sure why this sort of thing would prevent links from working in google, while not preventing browsing as such. One can copy the links and paste them into a new tab, and that works; or perform a google search, quit (while saving the tabs) and restart, and the links on the google page work when it reappears that way. Meanwhile, my friend attempted a new install of Internet Explorer, and Avast has noticed the new file and reported it as a trojan ("Win32:Patched-RG [Trj]") - is that probably a false positive, or should I react to it? Card Zero (talk) 17:33, 16 August 2010 (UTC)[reply]
I'm perplexed by what you mean by "a new install of Internet Explorer". All versions of Windows (for much more than a decade) come with Internet Explorer and it is, essentially, impossible to remove (the most that can be done is to hide it). Some of the later versions of IE are optional downloads, but even then you generally get them using the Windows Update mechanism, or at least as a download from Microsoft's own site. If your friend has done anything else (like type "internet explorer download" into Google and blithely download whatever that finds) then that's sending him off into a vortex of malware and pain. The fact that Google doesn't work in Firefox is also curious, and leads me to wonder whether the system already has malware on it (redirecting search traffic is a common trick malware authors like to do). It sounds like this system needs a thorough spyware/malware/virus cleansing session. -- Finlay McWalterTalk 18:57, 16 August 2010 (UTC)[reply]
Oh, well there was no executable in the IE folder - that part can get deleted, right? - so he sought out an installer from Microsoft and ran it. I doubt it did much more than put the executable back in the folder. It's a fair point that this could in fact have been malware; it's now sequestered in Avast's vault, anyway, since nobody here actually wants to use IE. I'm going to search for rootkits with Rootkit Revealer when Avast has finished a thorough scan. It was run last week, and has found more malware since then, so that's pretty bad. Your advice on further free cleaning tools is welcome. To add insult to injury it appears to be shitty malware that can't even redirect properly. 86.21.204.137 (talk) 20:52, 16 August 2010 (UTC)[reply]

The next day

So I spent most of a day trying to fix that, and came home. All we had achieved was to do a thorough scan with Avast, completely uninstall Firefox, add a couple of alternative browsers, and install Firefox again. Now, apparently, the computer is crashing a lot, and both Opera and the re-installed Firefox are suffering from the same problem with google links, although K-meleon is mysteriously unaffected. Any advice on what to (tell my friends to) try next?
I did attempt to use Rootkit Revealer, and it found five discrepancies, then it refused to save its log file (invalid volumes, or something) and crashed. At least one of the things it found, some googling suggested, was a false positive. The others sounded like harmless things (although, perhaps, harmless hijacked things), and it was after midnight at this point so we said "that's probably fine" and did nothing. What I wonder is: are rootkits actual noted much in the wild, or is this line of investigation probably a wild goose chase? Card Zero (talk) 23:04, 17 August 2010 (UTC)[reply]

Automated text input program

Hi, does anyone know if there is a [freeware] script/software that can input pre-written text into a browser running Javascript? My knowledge is very limited on this topic so apologies if I'm not making sense to more erudite users. Basically, in a text field, I want to write something, wait for a few seconds, write something else, wait again, and write something else again but all automated on a continuous loop obviously. Thanks very much in advance and I will check this section periodically if you require any more classification. Thank you! 81.105.29.114 (talk) 17:37, 16 August 2010 (UTC)[reply]

You mean something like Google Docs - basically a web-version of MS Office? -- kainaw 17:53, 16 August 2010 (UTC)[reply]
Nope :-) - The thing I'm thinking of is kinda like a macro script for cutting down repetitive manual input but completely automated with a setting that allows a few seconds delay inbetween each input. But thank you anyway. 81.105.29.114 (talk) 18:06, 16 August 2010 (UTC)[reply]
This would be straightforward to write in Greasemonkey, but I'm not aware of any canned solution to this particular problem. --Sean 18:18, 16 August 2010 (UTC)[reply]
That could work, thanks. Alternatively, just a simple program that could just enter predetermined text into a field? Rather than a program inside of the browser as a plug-in. 81.105.29.114 (talk) 18:42, 16 August 2010 (UTC)[reply]
AutoIt maybe? -- 78.43.71.155 (talk) 21:06, 16 August 2010 (UTC)[reply]
I will try that out too, sir, thank you. 81.105.29.114 (talk) 21:13, 16 August 2010 (UTC)[reply]

random number generator problem?

I was bored on a long car trip a few days back and using a TI-89 calculator, I wrote a program where the calculator would use its built in random number generator to select either the number 1 or 2. If it selected 1, it would increment a counter. The program would run this loop 10,000 times, and give me the value of my counter, Thus telling me how many times the random number was 1. The results I got were very interesting, and I was wondering if anyone could tell me why. I ran the program 20 times and there results were as follows...

Test 1, 50.64% #1
Test 2, 52.33% #1
Test 3, 51.73% #1
Test 4, 50.72% #1
Test 5, 51.02% #1
Test 6, 49.97% #1
Test 7, 50.92% #1
Test 8, 51.07% #1
Test 9, 52.02% #1
Test 10, 51.78% #1
Test 11, 50.63% #1
Test 12, 51.00% #1
Test 13, 51.15% #1
Test 14, 50.87% #1
Test 15, 50.25% #1
Test 16, 50.91% #1
Test 17, 50.80% #1
Test 18, 51.23% #1
Test 19, 50.82% #1
Test 20, 51.01% #1

There seems to be a very real bias towards 1 vs 2 in that #2 was selected more only 1 time out of 20, though #1 never ended up being selected more by a very huge margin. Is there a problem with the built in random number generator, or is this amount of testing not enough to be statistically significant? Googlemeister (talk) 18:37, 16 August 2010 (UTC)[reply]

Exactly what did you use to generate the random number? -- kainaw 18:57, 16 August 2010 (UTC)[reply]
Your calculator won't be generating true random numbers, but rather pseudorandom numbers - basically they seem random, but they're not. However I really think you need to use a larger sample to be able to say anything conclusive about the randomness, although you're generating 10,000 random numbers per test, you're only comparing 20 results and the average of those 20 is 51.0435% which (to me) is still pretty close to 50% so I don't think anything strange about it (yet).  ZX81  talk 19:07, 16 August 2010 (UTC)[reply]
I am not sure I agree. Only 1 out of 20 on what should be a 50/50 shot is a probability on the order of 2^19th right? 1 in 500,000? Googlemeister (talk) 20:34, 16 August 2010 (UTC)[reply]
I am betting that one of compatriots at the Math Desk could tell us for sure, using all that fancy statistics for detecting randomness that has been developed from the Pearson's chi-square test test and onward. --Mr.98 (talk) 22:21, 16 August 2010 (UTC)[reply]
I admit it has been a good many years since I've looked at this sort of stuff, but I'm sure I remember that when it comes to randomness having a big enough sample is very import because it's random (I know this is the worst explanation ever!) Although you would eventually expect the averages to be 50/50 with a big enough sample size, if something is truely random then getting 20 x 1 in a row is just as likely as getting 20 x 2, it's just not what you'd expect, but it is nethertheless random. With a big enough sample size you could expect the results to be more equal, but otherwise... I'm probably not explaining my reasoning very well am I? Sorry, Mr.98's idea about the Math's desk is probably a better idea!  ZX81  talk 22:37, 16 August 2010 (UTC)[reply]
Depending on the way in which the calculator generates its pseudorandom numbers, and depending on how you implemented it, there may in fact be a bias. My understanding (following Knuth and others) is that many of the prepackaged "Rand" functions included in many languages are not very statistically rigorous. I don't know if that applies to the TI-89 though. --Mr.98 (talk) 22:26, 16 August 2010 (UTC)[reply]
It's also possible that the random numbers are perfectly fine (unbiased, or zero mean, and otherwise "statistically valid" random numbers). But Googlemeister's description of his/her algorithm might not be entirely perfect. A tiny systematic bias screams "off-by-one error" to me - are you sure you normalized your values by the correct amount? That is, if your for-loop ran from 0 to 100, did you divide by 100 or 101? (Similar logic-errors could crop up, in other ways). Another probable error-source is floating-point roundoff. The Ti-89 is a calculator - so it uses a floating point representation for its internal numeric values. There are known issues related to most representations of floating-point: if you add a small number (like "1" or "2") to a large number (like the current-sum in the loop), you may suffer a loss of precision error that is a "design feature" of floating-point representations. Ti-89 uses a 80-bit binary-coded decimal float format; unlike IEEE-754, this format's precision "pitfalls" are less widely-studied (but certainly exist). Nimur (talk) 01:01, 17 August 2010 (UTC)[reply]
The chance of 200,000 flips of a fair coin deviating more than 1% from 50% heads is less than 1 in 1018, so yes, this is statistically significant. Did you write rand(100) >= 50, by any chance? That will be true 51% of the time. -- BenRG (talk) 05:51, 17 August 2010 (UTC)[reply]
Pseudorandom is really a bit of a misnomer, if it's not truly random then to what degree is it random? That's the question you are answering here. I remember playing a similar game with the Vbasic RNG and finding that depending on how it was seeded, it LOVED the number 4 (for a single digit rand() call) so anything involving the term pseudo should be taken with a grain of salt. I would think that a slower-moving, more dedicated system like a graphing calculator would have an especially hard time coming up with non-deterministic randomness without a lot of chaotic user input as a seed. --144.191.148.3 (talk) 13:39, 17 August 2010 (UTC)[reply]
I will have to investigate more in depth next time I have significant downtime. Googlemeister (talk) 13:42, 17 August 2010 (UTC)[reply]
I assume you know how to make a fair pseudo-coin from a biased but reliable coin? Throw twice, discard HH and TT, count HT as H, TH as T. --Stephan Schulz (talk) 13:50, 17 August 2010 (UTC)[reply]
Hey, that's clever, thanks. I never knew that. Comet Tuttle (talk) 17:56, 17 August 2010 (UTC)[reply]
You're effectively taking the first-derivative of the coin value. This works if the bias is exactly and only at zero-frequency; (in other words, a preference for heads, or a preference for tails, but independent of previous results). If there is a systemic higher-order bias, (in other words, if the distribution of head and tail is pathological and has time-history), you won't actually be guaranteeing 50-50 odds! All you did is high-pass-filter the PRNG. For a coin, this is a non-issue - but for a PRNG, this is a serious issue! Nimur (talk) 18:26, 17 August 2010 (UTC) [reply]

date

In a batch file, how can I make the date display like "2010 - August"? 82.44.54.4 (talk) 19:46, 16 August 2010 (UTC)[reply]

If all you need is the different formatting, and not the name of the month, you could try:
FOR /F "tokens=1-3 delims=/" %%G IN ('echo %DATE%') DO echo %%I - %%H - %%G
Note that you need to replace the / after delims= with the date separator for your locale (rund date /t and see which character separates the numbers), and you might have to shuffle %%I, %%H, and %%G around depending on your locale as well (some use MM-DD-YYYY, others DD-MM-YYYY, etc.)
Also, if you want to try it on the command line, you have to use single % signs instead of %%. -- 78.43.71.155 (talk) 21:01, 16 August 2010 (UTC)[reply]
That locale-shuffling behavior is reason enough not to do this: you will have written an unpredictable and non-portable script whose execution depends on users' settings. It would be preferable to design a system that doesn't rely on such assumptions, if you plan to distribute this script, or use it for anything non-trivial. Nimur (talk) 00:58, 17 August 2010 (UTC)[reply]
You could add some findstr nastiness followed by a few if/else constructs triggered by findstr's errorlevel, assuming that MM/DD/YYYY always uses the "/", DD.MM.YYYY always uses the ".", and YYYY-MM-DD always uses the "-" (and don't forget to catch a "no match" situation in case you run into an unexpected setting). Checking if that really is the case, and coding that nasty beast of code is left as an exercise to the reader. ;-) Of course, if Nimur knows of a solution of the kind that he considers preferable (see his post above), I, too, would be interested in seeing it. :-) -- 78.43.71.155 (talk) 09:14, 18 August 2010 (UTC)[reply]
(Sadly, my solution in this case would be to use Linux. date, a standard program, permits you to specify the output-format, and is well-documented. But that is an inappropriate response to the original poster, who specifically requested a batch-script solution!) One can find Windows ports of date in the Cygwin project; I am unaware of standalone versions. Nimur (talk) 20:17, 18 August 2010 (UTC)[reply]

Trying to get iPhone 3G to connect to home WiFi unsuccessfully

When it says "Enter the password for [my network]," isn't that my router's password, i.e., the password I use to get to the router settings? That's the one that gets my laptop to access my network, but the iPhone keeps saying "Unable to join the network '[my network]'." Thanks. 76.27.175.80 (talk) 22:26, 16 August 2010 (UTC)[reply]

No, it's actually asking your wireless encryption key (called either WEP, WPA or WPA2), but you should be able to get this from logging into the router.  ZX81  talk 22:30, 16 August 2010 (UTC)[reply]
Thank you! 76.27.175.80 (talk) 22:38, 16 August 2010 (UTC)[reply]
My WPA key is printed on the back of my router.--85.211.142.98 (talk) 05:51, 18 August 2010 (UTC)[reply]

Color saturation on television sets.

In additive color (video/film color resolution) the primary colors are Red, Green, and Blue, and the secondary colors are Cyan, Magenta, and Yellow.

For the longest time, TVs only displayed the primary colors (yielding a saturation of approximately 256 thousand colors). With the advent of HDTV in the early 2000s, however, I heard talk of how TVs would soon diplay both primary and secondary colors soon (yielding a saturation of approximately 3 trillion colors).

For years since, though, I heard nothing about this. Not only that, but recently a manufacturer announced that it was moving from RGB displays to RGBY displays (by adding in yellow). Does this mean RGBCMY is dead? Pine (talk) 23:14, 16 August 2010 (UTC)[reply]

I don't think that your use of the word saturation is the common meaning. In any event, our eyes (except for those of tetrachromats) can only see primary colors. The way we detect, say, cyan, is by observing the presence of both blue and green. So there's no obvious benefit to a display having elements that can emit blue+green, but not just one of them. I can imagine having a dedicated way to produce cyan could extend the gamut of a display slightly, but only if there are some intrinsic flaws in the display technology, and probably at a great cost to resolution.
The number of distinct (human-distinguishable) colors produced by a display is only limited by the number of distinct brightness levels for each color element. If I recall correctly, current display technology is able to create adjacent colors that we can barely (if at all) distinguish already, so increasing the number of colors displayed isn't very useful. Extending display gamut would be much more useful, but I don't understand the concept very well myself. Paul (Stansifer) 00:18, 17 August 2010 (UTC)[reply]
You might find the articles Quattron and Opponent process interesting. Exxolon (talk) 00:30, 17 August 2010 (UTC)[reply]
(ec) The RGBY displays are called Quattron. I don't think RGBCMY was ever "alive". You can get a full range of colors with just three primaries because there are just three cone types in a normal human eye. Theoretically you can improve color reproduction by adding primaries beyond three, but not by very much (not by nearly as much as you can by going from 1 to 2 or from 2 to 3). According to the WP article, twisted nematic LCD screens only have 64 brightness levels per primary, for a total of 64³ = 262,144 levels. That might be where your 256,000 figure came from. I have no idea where 3 trillion came from. The main point of adding more primaries is to widen the color gamut, not to increase the "number of colors" (though they would no doubt market it based on the number of colors, if that number happened to be higher than the competition's). -- BenRG (talk) 00:38, 17 August 2010 (UTC)[reply]

FIPS

Can a civilian [legally] use Federal Information Processing Standard (FIPS) for personal use? What's the pros and cons of using FIPS? On Win7, the computer lets me enable "FIPS" for my Netgear WNR1000. --Tyw7  (☎ Contact me! • Contributions)   Changing the world one edit at a time! 23:38, 16 August 2010 (UTC)[reply]

It looks like the WNR1000 implements FIPS 140-2. That's for communication between compliant equipment. So it's not a pro-or-con thing, it's a matter of whether you need to connect to a FIPS 140 compliant counterpart. -- Finlay McWalterTalk 00:01, 17 August 2010 (UTC)[reply]
So if my computer supports "FIPS" I should enable it? --Tyw7  (☎ Contact me! • Contributions)   Changing the world one edit at a time! 00:56, 17 August 2010 (UTC)[reply]
You have no need to enable it. FIPS is a sort of "audit" to automate and accredit that the equipment meets certain federal requirements for information security. In and of itself, FIPS does not secure any information; it just verifies whether your router is capable of meeting certain standards. You can think of it as a "standard test" that complies with a government regulation. Nimur (talk) 23:08, 17 August 2010 (UTC)[reply]


August 17

Hardware Accelerated AES Encryption

How does hardware accelerated encryption work? The processor performs the same algorithm whether it's done by the hardware or software, so how is it that hardware accelerated is faster? [EDIT:] I have a Intel Core i5 processor, just so you know. --Yanwen (talk) 00:42, 17 August 2010 (UTC)[reply]

See Parallel computing. By offloading work to a specialized hardware unit, the CPU is free to do other work, while a peripheral device computes the hash. This can actually speed up end-to-end processing for a workflow (even if the actual calculation of the hash is slower than it would have been on the CPU). It is also possible that the specialized peripheral uses some hardware, like vector processing or SIMD, to compute the hash in fewer clock-cycles than a general-purpose CPU. In either case, offloading the work from the CPU can also increase the throughput capability of the system (which is a different performance-metric than single-job execution time). The exact speedup or throughput improvement depend entirely on the characteristics of the workflow and the load. For a highly-utilized server that computes thousands of hashes per second, such accelerators are probably a good value; for a personal computer, you would rarely see any worthwhile benefit. Nimur (talk) 00:54, 17 August 2010 (UTC)[reply]
So there is a separate hardware unit just for computing the hashes and other AES operations... How is this different from your typical multi-threaded application? Wouldn't you get the same performance boost by using more threads? --Yanwen (talk) 01:24, 17 August 2010 (UTC)[reply]
Threads have to be executed on hardware. Creating more threads does not help unless there is idle hardware available to execute the thread. As for why you would want to use specialized cryptographic hardware instead of just adding more general purpose cores, there could be two reasons. (1) If you know exactly what the hardware is going to be doing, you can make it faster and smaller than general purpose hardware. (2) Cryptographic keys can be stored in tamper-resistant hardware so the unencrypted data goes in, the encrypted data comes out, and the general-purpose processors do not have access to the keys. Jc3s5h (talk) 01:55, 17 August 2010 (UTC)[reply]
Is this feature only available to Core i3 and above? How about Core 2 Duo? Is specialist software needed? --Tyw7  (☎ Contact me! • Contributions)   Changing the world one edit at a time! 03:31, 17 August 2010 (UTC)[reply]
AES instruction set lists the processors that support it. There are no Core 2 Duos or Core i3s on the list, and a couple of Core i5s are excluded also. Software needs to be rewritten to use the new instructions. The article lists some programs that have been updated. -- BenRG (talk) 08:57, 17 August 2010 (UTC)[reply]
Algorithms implemented directly in silicon are faster. Imagine your microprocessor didn't have a built-in instruction for integer addition, and you wanted to perform that operation on the contents of a couple of registers. You would have to implement an adder manually using primitive operations the processor did support. Each time you take the AND or XOR of registers A and B and store the result in register C, the processor has to decode the instruction, check that the previous operations writing to A and B have completed and wait for them if not, dispatch the values to the appropriate execution unit, and deliver the result to any pending instructions waiting for the write to C. The bookkeeping takes orders of magnitude more time than the logical operation itself. You'd probably need ~100 instructions and 50–100 cycles to add two 32-bit registers by this process, and multiplication would be far worse. In contrast, if there are ADD and MUL instruction implemented in silicon, the processor just has to get the source registers once, send the bits to the silicon gates, and get the result from the other end. The intermediate bits flow directly to the gates implementing the next step, without any of the overhead. That's why AES is faster with specialized instructions. AES makes use of operations, such as finite field multiplication, that have to be laboriously simulated on most microprocessors.
Parallelism is not really the issue. Depending on how Intel implemented AES, it might be possible to run an AES computation in parallel with operations like integer multiplication, but few applications are going to bother to do this. Maybe if you were simultaneously encrypting and computing a cryptographic hash of a message you could write a single function that did both and save some time. But this definitely isn't what gives you the speedup on raw benchmarks of hardware vs software AES. -- BenRG (talk) 04:17, 17 August 2010 (UTC)[reply]
Algorithms implemented in silicon are only faster than software if they are faster. (This is a truism, but BenRG's above statement is propagating a common misconception that hardware accelerators are somehow providing "magic speed-boosts"). There are loads of examples where a hardware-accelerator unit is actually slower than a CPU performing the same task. It depends on the implementation and the task. One problem with specialized hardware units is that they are rarely using the latest-and-greatest in CMOS process technology - so they can't be clocked as fast as an Intel CPU. (See these Discretix AES cards at 220 MHz). In that case, they are only faster at executing tasks if their instruction-set of optimized operations-per-clock outweighs their poorer clocks-per-second rate, compared to the CPU. But there are lots of reasons why a "slow" hardware accelerator might still be "better" - it might consume less power; generate less heat in a data center; increase throughput; reduce high-level software network transactions; it might be cheaper to purchase/operate according to a "dollars-per-million-transactions" analysis; and so on. And, in many cases, because it is specialized for a few important operations, a hardware accelerator does actually decrease end-to-end processing time. As far as parallelism, I can think of a perfect example - in fact, probably the most common example - let the CPU process data, and then encrypt it. If the CPU needs to time-share between processing- and encrypting, it is slowed down significantly (by an amount calculated with Amdahl's law); but if the CPU can spend 100% of the time processing, and then pipe data to an encryption accelerator, you have created a deep pipeline, improving throughput. Nimur (talk) 18:18, 17 August 2010 (UTC)[reply]
I was talking specifically about the AES instructions in newer Intel CPUs. I think the original poster was specifically interested in those instructions, though I see now that the original question you replied to doesn't say anything about that. So I think we're both right. -- BenRG (talk) 19:45, 17 August 2010 (UTC)[reply]
Ah, yeah. I wasn't even thinking about on-chip acceleration; I think the OP clarified to mean specifically the Intel AES instruction set; details are provided at the official Intel site. I have a feeling those extensions will put a lot of encryption-peripheral-manufacturers out of business... Nimur (talk) 21:03, 17 August 2010 (UTC)[reply]

Computer -> TV

I have a computer, want a TV, and don't want to buy a DVD player (I used to just watch DVDs on my laptop, but the screen is a tad small). If my laptop is the Apple macBook Pro from mid2009 and I buy the adapter to HDMI, can I plug into HDMI in my TV and watch movies and stuff on my TV from my computer.--173.58.234.169 (talk) 03:05, 17 August 2010 (UTC)[reply]

Most computers have an HDMI port. Even my Dell Studio 15 have one. If your computer have that port, just buy an HDMI cable and connect the computer to the TV that ALSO have the port. Note: Your TV have to have an HDMI port (found on most HD Tv's not old/cheap ones) as well for this to work. Even though your computer have an HDMI port or you buy an adapter, as long as your TV doesn't have the port, all your efforts are futile. The easiest way is to get a cheap DVD player (about £10-£20) which works with the standard RGB ports or the extremely old SCART port that is found on most TVs (even very old ones..or at least most very old ones I've seen). --Tyw7  (☎ Contact me! • Contributions)   Changing the world one edit at a time! 06:55, 17 August 2010 (UTC)[reply]
MacBook Pros do NOT have HDMI ports. I am 100% certain about this. I would need an adapter for whatever the thing is to HDMI and it means I might need to run it through another adapter too if that makes sense. So the question is, is using adapters feasible knowing Apple does not include HDMI ports?--173.58.234.169 (talk) 03:58, 17 August 2010 (UTC)[reply]
Our Macbook Pro article verifies that no MacBook Pro has HDMI, but Mini DisplayPort instead. Googling macbook pro hdmi yields several adapters that seem to cost around US$5. Comet Tuttle (talk) 05:40, 17 August 2010 (UTC)[reply]
You might have to consider how to get the sound to your TV - "...older 2009 line of MacBooks and MacBook Pros are unable to provide an audio signal through the Mini DisplayPort, and only do so over USB, Firewire, or the audio line out port instead (the April 2010 line of MacBook Pro, however, supports this15)." Astronaut (talk) 09:32, 17 August 2010 (UTC)[reply]
I don't use HDMI, just the regular VGA (with a MacBook, but really the same difference, albeit with a different converter), and the audio thing is not such a big deal — you just run it out of the Audio Out port. But yeah, all of this is very plausible and super easy to do in my experience. I watch Netflix InstantWatch and so on off of the TV all the time. Just make sure the TV has the right input ports. Most of them these days have VGA as well in my experience. I'm not sure there's any advantage to using HDMI or VGA in this particular situation? The resolution of the monitor mirrors what is on the laptop, which is already high-def. --Mr.98 (talk) 13:33, 17 August 2010 (UTC)[reply]
I am buying the TV in the near future. I also want to use the InstantWatch in addition to DVDs which is why the need for a cord. I would have assumed that quality is lost with regular VGA though and do newer TVs even have it if they have HDMI (I have been so focused on HDMI, I haven't even checked). I find a lot of retailer websites cryptic on what inputs and outputs are in a model that it is difficult. I have to admit going to the store is not a ton better except you can look. As to audio, what kind of cord is needed for that? Thanks.--173.58.234.169 (talk) 18:53, 17 August 2010 (UTC)[reply]
While most retailer websites are pretty thin on the details like exactly which ports are installed (and, I have noticed, they are sometimes wrong), manufacturer websites are a better source of information about their products. In my experience, not many TVs have a separate audio-in, but where I have seen audio-in it has always been via left & right RCA connectors (but maybe that's a European thing). The ideal way would be find a converter box to take video and audio from your MacBook Pro and send it to the TV with one HDMI cable. This MacWorld article, which discusses many of issues, recommends some specific products. Astronaut (talk) 09:10, 18 August 2010 (UTC)[reply]

Thanks, your solution seems best for what I am trying to do (the MacWorld one) and should work in the US.--173.58.234.169 (talk) 21:56, 19 August 2010 (UTC)[reply]

When I use VGA on my TV it looks pretty much identical to the input. If it is worse quality or refresh rate or colors or whatever, I certainly can't tell. But I'm not a hi-fi style buff or anything. The resolution is identical on my TV/laptop combination, which is all I am going for (it's higher than the InstantWatch resolution/refresh itself). I'm pretty sure it's pretty standard these days for at least a VGA port and standard stereoplug (e.g. "headphone') input to be available on newer LCD TVs, at least when I went looking at them. (I ended up just buying one at CostCo, after hunting around — they had the best prices, heads and tails above places like Best Buy.) More tricky in my experience is audio output, which is often in an optical plug, which requires you to use compatible speakers or to get some kind of converter. --Mr.98 (talk) 12:53, 18 August 2010 (UTC)[reply]

computer file with pdb extension

I got a computer file with pdb extinsion. I don't know how to open it. Any idea? thank you.124.43.25.100 (talk) 08:17, 17 August 2010 (UTC)[reply]

Is this any use? --Phil Holmes (talk) 09:26, 17 August 2010 (UTC)[reply]
It would help us if you told us what you thought the file was supposed to be. Is it a document someone sent you? And old set of notes? Something you downloaded from a website? --Mr.98 (talk) 13:35, 17 August 2010 (UTC)[reply]
For what it's worth, the .pdb files on my system exist because I use Microsoft Visual Studio. The .pdb file does nothing by itself. Is it in a folder along with some other software? Comet Tuttle (talk) 17:30, 17 August 2010 (UTC)[reply]
This is why it's important to say where the file came from. All the files on my system with a .pdb extention came from the Protein Data Bank and can be opened with a molecular viewing program. These programs, however, would do nothing with Comet Tuttle's Visual Studio file, though. -- 140.142.20.229 (talk) 18:30, 17 August 2010 (UTC)[reply]
We have articles or dab pages on most extensions, such as PDB. ---— Gadget850 (Ed) talk 19:54, 17 August 2010 (UTC)[reply]

2 anti virus software running together

Apart from slowing down your computer why shouldn't you use 2 AV softwares together, what happens when you do? Mo ainm~Talk

It can cause problems because the two (or more) programs aren't necessarily going to be aware of each other and can get in each others way when doing active scanning. Also, when a virus is found it can cause quite a "fight" as to who gets to deal with it. Personally though I use Symantec Endpoint Protection as well as Microsoft Security Essentials and they work together just fine even when something is found, so unless you actually have problems running two programs then I wouldn't worry about it. But assuming both programs are up-to-date then running more than 2 is probably overkill and will degrade your system performance with no real benefits.  ZX81  talk 18:51, 17 August 2010 (UTC)[reply]
As virus scanners can contain portions of actual virus code for identification purposes, rival AV suites can actually flag each other as 'rogue' programs when they see the code in their own scan. Exxolon (talk) 20:59, 17 August 2010 (UTC)[reply]
If you want to run two AV engines, there are products who offer that feature. So you would be running one AV product, but with two engines from different manufacturers, which avoids the issue of two AV products detecting each other's virus samples or similar problems.
If you want to do it manually, you should find out the names of the program directories and add a scanning exclusion for those (install AV #1, add exclusion, deactivate AV #1, install AV #2, add exclusion, activate AV #1). There's no guarantee that it will work, it's just increasing the chances. On-Access scanners might still get in a fight because they hook into file access routines, and basically have to hook into each other if more than one is installed.
I'd recommend going the several engines combined into one product way if you're looking for more protection than one AV can offer. Or you could install the On-Demand components of multiple AV products, add exclusions for them in the one On-Access scanner you run, drop all your "suspicious" files into one folder and add a batch file that triggers scanning of this folder with all your On-Demand scanners.
If this is for company use, you could use one dedicated AV scanning computer that runs a different AV than the rest of your machines, and make it a company rule that all media entering and leaving the building must be scanned there. Same goes for Web proxies, Mail servers, etc. - run a different AV on them than the desktop machines. -- 78.43.71.155 (talk) 09:04, 18 August 2010 (UTC)[reply]

Need input - writing a basic referrer tracking script

Hi,

I am want to learn more about how Google Analytics works by writing a 'basic' version of it which only tracks the referrer (initially) and the page being visited (its going on a template). I plan to implement the tracker using a 1x1 pixel approach, using the javascript like this one:

<script type='text/javascript'>
document.write("<img src='//my.tracker.url.here/pixel.php?args=" + someVariablesHere +"' width='1' height='1' alt='' /> ");
</script>

for the php side, i came across this php code to generate the actual gif image, and room for me to add the database part. Now some questions:

  1. Which is more reliable for getting the referrer: Javascript (document.referrer) or PHP ($_SERVER["HTTP_REFERER"])?
  2. Aside from the referrer, what other information is commonly collected?
  3. is the syntax for the image source safe "//url.here.com" in terms of implying http/s or should I explicitly code it (detection using window.location.href)?

Open to advice regarding specifics and good practices. TIA PrinzPH (talk) 22:39, 17 August 2010 (UTC)[reply]

You could use a non-expiring tracking cookie with a globally unique id. You should write out the full url...probably using http: vs https. PHP is more reliable than javascript (server is always more reliable than client). Other information that could be collected could be duration of stay, mouse movements, client information (browser, OS, screen size, etc).Smallman12q (talk) 20:43, 18 August 2010 (UTC)[reply]
Thanks for the reply, will try it out! :) PrinzPH (talk) 20:04, 19 August 2010 (UTC)[reply]
You will notice that Google Analytics itself codes for the http/https distinction. I think the issue is that if you are in https and serve up unsecured content on some browsers, they will either block it or give a nasty warning message. --Mr.98 (talk) 15:43, 21 August 2010 (UTC)[reply]

Wikia's poor quality of service

Dear Wikipedians:

Is it just me or does anyone else notice that Wikia's quality of service seems really poor.

I started a new wiki today on Wikia, and I noticed these frequent "black-out" periods where the whole Wikia site seems to crash and not respond. I remember Memory Alpha and Uncyclopedia being really reliable in the past, but not anymore.

Anyone else know more about this problem?

Thanks,

70.31.154.183 (talk) 23:38, 17 August 2010 (UTC)[reply]

I stopped going to Wikia sites when they forced that horrible "New Monaco" skin on every wiki and stole uncyclopedias domain name, so I don't know what their service is like currently. But from past experience Wikia has always been quite slow with a lot of timeouts. They probably have an outdated server. 82.44.54.4 (talk) 11:13, 18 August 2010 (UTC)[reply]


Thanks. That about explains it. 70.31.154.183 (talk) 12:31, 18 August 2010 (UTC)[reply]
I don't see how you can claim someone stole the a domain name, when the owner apparently entirely voluntarily transferred ownership. If you're referring to transferring from www.uncyclopedia.org to uncyclopedia.wikia.com as the primary hosting location, that appears to be a seperate issue that happened long after ownership of the domain name was transferred. Nil Einne (talk) 16:42, 20 August 2010 (UTC)[reply]
Resolved


August 18

Surprising SEGV from read(2)

Resolved

Under what circumstances can this code cause a segmentation fault in read()?

#include<unistd.h>
#include<string.h>
int cread(int fd,void *buf,int sz) {
  memset(buf,0,sz);
  return read(fd,buf,sz);
}

Because the prototypes are there, sz will be properly promoted to a size_t. What does read() do (if, say, other memory is corrupted) that could cause it to fail? --Tardis (talk) 00:23, 18 August 2010 (UTC)[reply]

Well, trivially if fd is not a valid file descriptor (depending on the quality of your libc, of course). Can you verify if fd is valid? --Stephan Schulz (talk) 00:31, 18 August 2010 (UTC)[reply]
You're supposed to be able to call read(2) with an invalid descriptor and just get EBADF. fd==20 here, for what that's worth. --Tardis (talk) 01:06, 18 August 2010 (UTC)[reply]
If you're seeing this, I'd suspect that read is doing some pointer arithmetic that memset isn't, and that a vastly wrong value for sz is causing it to overflow or underflow, or perhaps memset has some internal check that's causing it to silently stop before it faults, a check that isn't done in read. I tried some trivially mad values for sz (-1, 0x7fffffff, 0x80000001) and it's memset that faults for me, but your libc, or your sz, may differ. -- Finlay McWalterTalk 00:50, 18 August 2010 (UTC)[reply]
The thing that gets me is that read is a system call! The kernel needs no help from me to put bytes into that buffer, and I've already demonstrated that the buffer is legit. What pointer arithmetic could it possibly need to do? --Tardis (talk) 01:06, 18 August 2010 (UTC)[reply]
You haven't really tested that the buffer is legit - you're assuming that memset will have addressed all that memory, because that's what is contract appears to say it will. But what does memset really do when you give it a vastly, meaninglessly negative sz? Isn't it within is right to do nothing at all? If you really want to test the buffer is legit, you'll write the memory yourself with a loop. -- Finlay McWalterTalk 01:15, 18 August 2010 (UTC)[reply]
True enough: its argument is unsigned, but it could in theory ignore very large values. But I also know that sz==67480 (and that the buffer is actually 512000 B long). --Tardis (talk) 01:51, 18 August 2010 (UTC)[reply]
Oh, and if buf is on the stack, and you trash the stack with an sz that's too big (or -ve), you can segfault in several ways - you can trash cread's stack frame, meaning it'll return to 0 (bang!) or (possibly with a -ve sz) mangle cread's copy of the pointer called buf, so that it no longer points to the actual buffer on the stack, but instead to 0 (bang!). That shouldn't be the case if buf is malloced, or is in .bss or .data, however. If that's the case, commenting out the memset should cause the read to succeed. -- Finlay McWalterTalk 01:07, 18 August 2010 (UTC)[reply]
To clarify, I'm suggesting that memset is trashing the stack, but that you don't notice until the read. -- Finlay McWalterTalk 01:09, 18 August 2010 (UTC)[reply]
buf is obtained from malloc(), but I think you're right about the stack; attaching a debugger shows that the pointer that triggers the SEGV points 440 MB above the stack pointer, and is itself on the stack — but then the SEGV shows up in a different function. When I let it die and look at the core, it says it died inside read() and with a completely different pointer. --Tardis (talk) 01:51, 18 August 2010 (UTC)[reply]
Ah, you're screwed then:) If the stack is corrupt, and you can't use tools to help, you're reduced to putting in canaries into the stack (just declaring autos with known odd values like 0x3f5c) and periodically checking them to see when they're intact and when they've been steamrollered. -- Finlay McWalterTalk 02:09, 18 August 2010 (UTC)[reply]
When I've had to do that in the past, I wrote a little library with register_canary(addr, val) and unregister_canary(addr) which stored a little database of canaries. Another thread woke up every 1ms or so and verified all the canaries were intact. If one is missing it segfaults into the debugger deliberately. -- Finlay McWalterTalk 02:14, 18 August 2010 (UTC)[reply]
In general, this is perfect fodder for valgrind or purify; you're seeing a segfault in read because that's where memory misbehaviour was detected, but if memory is already corrupted by some other bad code elsewhere, you'll never find the corruption by worrying about what read does. -- Finlay McWalterTalk 01:19, 18 August 2010 (UTC)[reply]
Unfortunately, this is running under MPI, and is (of course) only failing in parallel; running it with such tools is rather more difficult than it would be otherwise. Thus my interest in a theoretical analysis that might point me at the right part of the code. --Tardis (talk) 01:51, 18 August 2010 (UTC)[reply]
Here's why you can't rely on one function accessing memory identically to another (particularly when passed pathological parmeters). Consider the following two (very naive) implementations:
  void simple_memset(char* p, byte n, int sz) { 
    char * d = p;
    while (d < (p+count)){
      *d=n;
      d++;
    }
  }

  void simple_read(int fd, char * p, int sz) {
    int bytes_read=0;
    while(bytes_read<sz){
      p[bytes_read++]=get_byte_from_file(fd);
    }
  }
Those both look like reasonable implementations. Now consider the following example, assuming a 16 bit address space (I'm too lazy to type all those extra 0000s, but the point is the same in 32 or 64 bits). Say your data segment is located at A000..BFFF, with buf 0x100 bytes beginning at B000. Now say you mess up and instead of passing 0x100 as sz you pass 0x7654. Inside simple_memset, at the beginning, d is 0xB000, p is 0xB000, and count is 0x7654. So p+count would sum to 0x12654, but that just truncates to 0x2654. As d >= 0x2654, simple_memset will terminate without writing any bytes. So that call to simple_memset hasn't validated you can access the buffer. And lo, look what happens when you then run simple_read. It works for a while, even reading far off the end buf buf at 0xB0FF, but eventually bytes_read gets to 0x1000 (which is allowed, because that's much less than 0x7654). It does that p[bytes_read++], where p is 0xB000 and bytes_read is 0x1000, so it's dereferencing memory at 0xC000, which is beyond the bounds of the data segment, and that's a segfault. -- Finlay McWalterTalk 01:59, 18 August 2010 (UTC)[reply]

It was in fact stack-smashing, produced by a truly remarkably bad set of communication functions that sent the wrong data and then stored that incorrect data into (rather than through!) a pointer. I wish I could say that the code was ancient and written by some idiot long since departed, but in fact I wrote it on the 4th of this month, so… yeah. Thanks for reminding me of the obvious. --Tardis (talk) 02:32, 18 August 2010 (UTC)[reply]

Worse, that should generally generate a warning, and some idiot ignored that warning and thought "ah, I'll fix that later" :) -- Finlay McWalterTalk 02:36, 18 August 2010 (UTC)[reply]
Unfortunately, generic interfaces like MPI offer no such type safety:
void recv3(int *p,int src) {
  MPI_Status st;
  MPI_Recv(p,1,MPI_INT,src,0,MPI_COMM_WORLD,&st);  /* convert int* to void*: OK */
  MPI_Recv(&p,1,MPI_INT,src,0,MPI_COMM_WORLD,&st); /* convert int** to void*: OK?! */
  MPI_Recv(*p,1,MPI_INT,src,0,MPI_COMM_WORLD,&st); /* convert int to void*: warning */
}
I may be that idiot, but I run gcc with -pedantic -Wall -Wextra -Wfloat-equal -Wundef -Wredundant-decls -Wpointer-arith -Wwrite-strings -Wshadow -Winline -Wdisabled-optimization -Wstrict-prototypes -Wunreachable-code. --Tardis (talk) 14:24, 18 August 2010 (UTC)[reply]
Lint (software) can often catch pointer and cast conversions that the -pedantic warnings do not catch... this chapter from Linux Clusters discusses the use of splint with MPI; I have never used that tool, but it looks like it can check for common argument mismatches in MPI functions. Nimur (talk) 20:33, 18 August 2010 (UTC)[reply]

wget

Would it be possible for wget to scan say 5 pages and then output a list of every link on those pages into a text file? 82.44.54.4 (talk) —Preceding undated comment added 11:35, 18 August 2010 (UTC).[reply]

Uhh, as far as I know, you can't do that using wget by itself. You could use wget to download the files you want, then use sed to process those files and filter for the <a></a> HTML tags. CaptainVindaloo t c e 19:07, 18 August 2010 (UTC)[reply]
It depends on what you need the URLs for. If you want to create a text file just to feed it back to wget at a later time, extracting the URLs is unnecessary. Just specify the downloaded page as input file and omit the URL(s) on the command line. See the help file for commandline options -i, -F (and you might need -B as well). -- 78.43.71.155 (talk) 20:31, 18 August 2010 (UTC) PS: Prithee, do tell: What are you up to? Creating a local copy of 4chan?[reply]

Mutation in Genetic Algorithms (optimization)

In the Mutation(GA) article, it is not mentioned where the mutation operation is used in the GA. Let's say there are N chromosomes in the last step, "old N chromosomes". I think there are three choises to create the new population.

1) N new chromosomes are generated from three different operations: a) Some are directly copied from initial population b) Some are generated by crossover c) Some are generated by mutation (This is the algoritm used in MATLAB's implementation)

2) N old chromosomes enter crossover, after mating and crossover N new chromosomes are generated. N new chromosomes enter mutation. Best N chromosomes are selected out of 2N chromosomes.

3) N old chromosomes enter crossover, after mating and crossover N new chromosomes are generated. Both N old and N new chromosomes enter mutation. Best N chromosomes are selected out of 2N chromosomes.

Which one above is true? OR can I use any of them? Kavas (talk) 12:19, 18 August 2010 (UTC)[reply]

I could be wrong, but I suspect you'll probably be better off asking this on the Wikipedia:Reference_desk/Science reference desk, this is computing and this doesn't (to me) seem related?  ZX81  talk 18:50, 18 August 2010 (UTC)[reply]
cf Wikipedia:Reference desk/Science#Mutation in genetic algorihms, yesterday. -- Finlay McWalterTalk 20:08, 18 August 2010 (UTC)[reply]
I asked that question too. But, as I use a numerical computing environment (MATLAB) for implementing the GAs, I thought "Computing Desk" should be more suitable. I'm not sure "mutational meltdown" refers to "stuck into a local minimum" there. Kavas (talk) 21:49, 18 August 2010 (UTC)[reply]

Reinstalled OSes, regedit, and Star Wars

I have Star Wars: Empire at War, and its expansion, both legally bought and paid for. I installed them on my computer. Then my OS (Windows XP Home) was eaten by viruses. I also had Windows XP Professional on the computer because I was aware that this might happen. I am now running XP Professional. The problem lies in that I still have Empire at War and Forces of Corruption installed, but not listed in the registry. Can you please tell me what registry keys are necessary for the game to run, and what their contents are? I would reinstall from disk, but I think my EAW disk 1 might be corrupted (it won't run the installation screen even if I go into the drive and run it manually), and FOC refuses to reinstall without EAW being reinstalled. Thanks! 97.125.84.72 (talk) 16:47, 18 August 2010 (UTC)[reply]

Sorry I don't know the answer to your question, however it's possible it's not just registry keys it needs, but also specific files in the Windows system directories. I'd simply contact LucasArts though, it might be a problem with something else that's stopping you from being able to install the game, but even if it is actually is a faulty disc they have a disc replacement policy where for only $5.00 USD per disc they'll swap your broken disc for a working one.  ZX81  talk 18:48, 18 August 2010 (UTC)[reply]
I solved this problem myself several days ago and am explaining here so that anyone else with the same problem will no what to do. I successfully installed Empire at War with another disk, then looked at the registry info. The registry key for the original EAW was "HKEY_CURRENT_MACHINE\SOFTWARE\LucasArts\Star Wars Empire At War\1.0\", containing: string "CD Key" with the CD key as its value; string "ExePath" as the path for the sweaw.exe executable file; string "Launcher" with the path for the launcher as its value; DWORD "Installed" with value 1; and DWord "Revision" with a value of 10105 (2779 in Hexadecimal). I created another registry key, "HKEY_CURRENT_MACHINE\SOFTWARE\LucasArts\Star Wars Empire At War Forces Of Corruption\1.0", and put in the strings for "CD Key" with my Forces Of Corruption CD key and "ExePath" with the path for swfoc.exe, and the DWord "Installed" as 1. It worked; although I used a noCD cracked executable and won't verify whether it would work without one because I fear SecuROM, which is deployed with the unaltered executables for FOC or EAW. 97.125.84.72 (talk) 06:31, 27 August 2010 (UTC)[reply]

Trying to install an MSDOS program on Vista

I just now downloaded the Shareware version of the original Duke Nukem game from http://www.3drealms.com/duke1, and upon opening the resulting zip file after completing the download, a window with a warning message appeared. Entitled "16 bit MS-DOS Subsystem", the window gave me the following text: "This system does not support fullscreen mode. Choose 'Close' to terminate the application." Any idea how to get this program to install on Windows Vista? Nyttend (talk) 19:35, 18 August 2010 (UTC)[reply]

DOSBOX 82.44.54.4 (talk) 19:42, 18 August 2010 (UTC)[reply]
Program is downloaded, and I've gotten it to work; thanks for the pointer. However, I'm now confused: how do I tell it to run the install program, or how do I tell the install program to run in Dosbox? I've looked and failed to find a "Run with" command when I rightclick on the install program in My Computer, and I can't remember how to work DOS; the readme for Dosbox doesn't seem to have a how-to-run-DOS element. Sorry if there's an obvious answer to my problem; I just can't think of how to do this. Nyttend (talk) 21:29, 18 August 2010 (UTC)[reply]
It will probably work if you just open the dosbox prompt and type the name of the executable, with its full path (e.g. c:\dowloads\duke.exe -- Finlay McWalterTalk 21:32, 18 August 2010 (UTC)[reply]
The program is called "INSTALL.EXE" and in a folder named "DUKE", but typing C:\DUKE\INSTALL.EXE results in a message of "Illegal command: C:\DUKE\INSTALL.EXE". Do I have to type something before the full path? "run" and then the path resulted in a message of "Illegal command: run". By the way, the readme says that I must follow a "mount" command; I don't understand what that does, but I've followed the readme's instructions and gotten the results that it said I should from that. Nyttend (talk) 21:43, 18 August 2010 (UTC)[reply]
You don't use RUN or anything, you just type in "INSTALL.EXE" after you have mounted the right directory as a drive in Dosbox. --Mr.98 (talk) 21:46, 18 August 2010 (UTC)[reply]
If Dosbox on Vista works the same as it does on OS X, what you do is install Dosbox, then you have to "mount" the directory with the program as a virtual drive within Dosbox (e.g. "MOUNT c d:\yourprograms\duke" makes it so that the C:\ drive in Dosbox corresponds to the folder on your D: drive as indicated). Then you run it from within Dosbox (e.g. "c:\duke.exe"). If you have forgotten your basic DOS commands, type in HELP and it'll give you them. --Mr.98 (talk) 21:45, 18 August 2010 (UTC)[reply]
Okay, it installed; the program isn't running properly, but I suspect that it's a compatibility issue. I'll try running it on an XP computer. Thanks, especially, for the HELP command; I had no idea that there was such a thing, but I was wishing that there were. Nyttend (talk) 23:10, 18 August 2010 (UTC)[reply]
There might be special Dosbox settings that will help. ("Dosbox -- all of the old frustrations of Dos, today!") I tried Googling "Duke Nukem Dosbox," and what do you know, someone has written a guide on getting it to work. Now some of this is about the CD-ROM version and probably doesn't apply, but I thought maybe it'd be a start. The Dosbox FAQ actually says specifically that it does run, but you have to be careful about selecting your graphics settings, because Dosbox is emulating the entire PC at once, and can't necessarily do it as well as the original hardware. This page has more specific .conf settings that might be of help. From the looks of things, Duke Nukem is a little hard to get started, because it — in its own day — pressed CPU resources pretty hard, and emulating that can be a little tricky. It seems do-able though. Good luck. --Mr.98 (talk) 01:14, 19 August 2010 (UTC)[reply]
Dammit, I should have posted this as soon as I saw your question and saved you some hassle. The easiest option is NOT to use the DOSBox directly but instead use one of the many graphical front-ends that have been developed for it. I'm partial to D-Fend Reloaded because of its nice interface listing all your games in the main screen one below the other, kinda like MAME does with arcade games. It has a "Add game" Wizard which takes you step by step through the process of adding a new game to the list (including the setup.exe or install.exe file), and its mouse-over tooltips are mostly quite helpful and explanatory. Zunaid 21:21, 19 August 2010 (UTC)[reply]
That's pretty good to know in general, thanks. --Mr.98 (talk) 16:31, 20 August 2010 (UTC)[reply]

Latest version of Netscape (and how to speed up netscape)

Hello there, I am using Netscape 9.0 Beta version 3. Is it the latest version? I am also trying to speed up the browser. So I found this (ehow.com/how_6001169_speed-up-netscape-navigator.html website). But the problem is, options mentioned in that article is not present in Netscape 9.0, for example, "Network Connections.", "Preferences" and "Connections" tab. Where could I get this option? thnaks--180.234.38.102 (talk) 20:52, 18 August 2010 (UTC)[reply]

No, the latest version of Netscape was 9.0.0.6 (from February 2008). If you are not already aware, Netscape is no longer actively developed. As explained on that history page, and our article Netscape Navigator, the technology that drove Netscape went through some complicated business dealings and ultimately emerged as the core for the Mozilla project. The newest version is Mozilla Firefox, Version 3.6.8. Nimur (talk) 21:10, 18 August 2010 (UTC)[reply]
(edit conflict)The most recent version is Netscape Navigator 9.0.0.6, released in February 2008. Beta 3 was released in August 2007, making it three years old now. If possible I'd recommend upgrading to a more modern browser. A more recent browser just might run faster. If not, those changes should still be possible with a new browser. Except possibly the first option, which I haven't seen in any browser that I've used. Reach Out to the Truth 21:13, 18 August 2010 (UTC)[reply]
It's probably best to update to the latest version of Netscape (9.0.0.6) or to switch to firefox. Netscape was abandoned in 2008, and is essentially replaced by firefox.Smallman12q (talk) 15:27, 19 August 2010 (UTC)[reply]

Wikipedia has a problem

Whenever I begin typing the URL to Wikipedia in Firefox, it will automatically suggest "en.wikipedia.org". However, the stored headline for that page is "Wikipedia has a problem". While it is definitely true that Wikipedia has its problems, this was not the headline of the page when I most recently visited it. It has been like this for quite a while, and I wonder if there is a way to fix this without purging all the stored URLs. Thanks, decltype (talk) 21:25, 18 August 2010 (UTC)[reply]

According to Wikipedia:Bypass_your_cache#Mozilla family hold shift and press the reload button to bypass your cache. Taemyr (talk) 21:33, 18 August 2010 (UTC)[reply]
Thanks, I've purged my cache but it didn't help. Perhaps my question was poorly worded — It is only in list that automatically drops down when I begin typing an URL that the headline is wrong. Regards, decltype (talk) 21:39, 18 August 2010 (UTC)[reply]
It sounds like a bookmark thing. Go to Bookmarks -> Organize bookmarks, search for the wikipedia link, highlight it, and at the bottom of the dialog box there should be some text boxes. Under "Name", change it to whatever you want it to say 82.44.54.4 (talk) 21:49, 18 August 2010 (UTC)[reply]
It's not a bookmark thing. Mine used to do that because of the recent serverdeath, but it's stopped doing it. sonia 22:59, 18 August 2010 (UTC)[reply]
I'm not sure this will work, but clearing the entry may solve the problem. Start typing as you have been doing. When the mislabeled suggestion appears, use the down arrow to highlight it and then press the delete (DEL) key. Hopefully that will clear the entry and Firefox will get a new title the next time you visit the page. -- Tom N (tcncv) talk/contrib 00:23, 19 August 2010 (UTC)[reply]
Thanks all. Tcncv's suggestion kinda worked. The entry is gone, but it is not getting readded when I visit the URL in question. Not a big deal though :) Regards, decltype (talk) 04:36, 19 August 2010 (UTC)[reply]

August 19

X-Root

Hi.

   My question is one of mathematics. Does a program exist which can solve for X in the following equation, where Y and Z are known?

Y^X=Z

   Thanks. Rocketshiporion Thursday 19-August-2010, 5:43am (GMT)

Hi there. If you're just doing a quick calculation or two, you can do it with a calculator using logarithms. If Y^X=Z, then X log Y = log Z, so X = (log Z / log Y). You could put this into the language of your choice if you wanted to automate it. Brammers (talk/c) 08:07, 19 August 2010 (UTC)[reply]
Another way to view this is (and get the same result) by the definition of log. implies (if we are using log base 10, but any base will do for this definition). So, assume we are using log base Y. You have , which implies . The computer will not have log base Y, but to convert bases, you just divide by another base: . And, from above, we know that . -- kainaw 15:03, 19 August 2010 (UTC)[reply]

The above assumes we're talking about real numbers. More generally, working with complex numbers, the solution may be multivalued -- see complex logarithm. 198.161.238.19 (talk) 14:50, 20 August 2010 (UTC)[reply]

Key Stroke Logger

Hi how to create a key stroke logger (software) using C++. Can you please give the details and the code?117.204.3.54 (talk) 13:10, 19 August 2010 (UTC)[reply]


Split off into new section Rojomoke (talk) 14:54, 19 August 2010 (UTC)[reply]
See Keystroke logging for details and google "open source c++ keylogger" for source. --Sean 15:19, 19 August 2010 (UTC)[reply]
There is an article on key logging at Keystroke logging. Your current request is overly broad...how do you plan to implement the key stroke logger: with an api hook, a blue pill hypervisor, or with a rootkit. The implementation is often system-dependent.Smallman12q (talk) 15:23, 19 August 2010 (UTC)[reply]
Without objecting to the question, can we stop this conversation somewhere short of giving explicit instructions on how to create one's own password-stealing trojan? If someone's going to try to hack into my machine, I prefer to know that they are smart enough to figure out how to do it on their own. --Ludwigs2 16:45, 19 August 2010 (UTC) [reply]
Or they were smart enough to avoid the hassle and simply slip a hardware keylogger on the keyboard input. -- kainaw 16:58, 19 August 2010 (UTC)[reply]
The good news, though, is that we can provide complete instructions and links to compiled programs, source-code, strategies, and everything: the information is all freely available to answer these sorts of responses and is easy to get. Fortunately, the people who want to use keyloggers invariably will find the instructions overly-complicated. Nimur (talk) 17:49, 19 August 2010 (UTC)[reply]
and let's keep it that way. I have a soft spot for intelligent criminals (call it anarcho-romanticism...), but I can't abide dumb ones. --Ludwigs2 18:15, 19 August 2010 (UTC)[reply]

Message digests

Is there any known message whose message digest after applying one of the encryption algorithms like SHA# or MD# is exactly the same as the original message? 20.137.18.50 (talk) 15:08, 19 August 2010 (UTC)[reply]

It may be remotely possible...but its highly unlikely.Smallman12q (talk) 15:23, 19 August 2010 (UTC)[reply]
It's not unlikely for a fixed point to exist. The chance of a good hash function having a fixed point is 1 − (1 − 1/n)n where n is the number of outputs, such as 2128 or 2160. For any realistic hash size, this is almost exactly 1 − 1/e, or 63%. -- BenRG (talk) 19:17, 20 August 2010 (UTC)[reply]
SHA# and MD# are hash functions, not encryptions, so your question is unclear. They don't affect the original message. --Sean 15:25, 19 August 2010 (UTC)[reply]
Of course I meant that the output of the hash function would be equivalent to the input to it. 20.137.18.50 (talk) 15:30, 19 August 2010 (UTC)[reply]
What you're asking in essence is whether there is a fixpoint for SHAx or MDx. It seems that no-one knows - that is, there is no analytic finding that says yay or nay, and brute force is a big job. This guy is apparently organising a brute force search for a fixedpoint in md5. While in theory such a finding might cast doubt on the security of a hash algorithm that had hitherto been thought secure, as long as they're fantastically rare (as, for example, are the weak keys of certain otherwise secure block ciphers) that probably wouldn't affect the practical security of a hash algorithm. I don't know of any evidence for either hash family that shows any algorithmic relationship between the tractable determination of collisions and the existence (or determination) of fixpoints. -- Finlay McWalterTalk 18:00, 19 August 2010 (UTC)[reply]
I wonder if there is an "officially" coined term for it in computing, rather than fixpoint. See some of the math behind it here.Smallman12q (talk) 18:07, 19 August 2010 (UTC)[reply]
Neither SHA-1 nor MD5 is perfect; that doesn't mean they necessarily have fixpoints. -- Finlay McWalterTalk 18:29, 19 August 2010 (UTC)[reply]
The existence of a fixed point is not a weakness any more than the existence of collisions (which are a mathematical certainty, of course). Successfully finding a fixed point or a collision does demonstrate weakness. -- BenRG (talk) 19:17, 20 August 2010 (UTC)[reply]

IP addressing and correct program instance

Suppose someone is running two instances of the same program, for example, Firefox. Both instances send requests for information to the same IP address (for example, Google), but the instances are requesting different data. A packet arrives at the requesting computer. How does the operating system know which of the two instances the packet should be routed to? Jc3s5h (talk) 16:58, 19 August 2010 (UTC)[reply]

By creating an internal representation for each unique connection. Specific operating systems have different strategies: most Linux-like systems use connect() (on the client) and accept() (on the server) to re-assign the communication to any free port. In other words, both sides are initialized using the "known" port, but then are usually shuffled to a random, "temporary-use" port-number unique to the particular client/server socket-pair. After the initial connection is negotiated (e.g. on Port 80 for HTTP), the socket-pair gets reassigned to a different, free port. Correction - the server always uses the known "destination" port; only the client uses a randomly assigned "source" port; and the two ports (source and destination) form a uniquely-identifiable socket-pair between client and server. You can see this list of re-numerated ports if you use the netstat command. Nimur (talk) 17:15, 19 August 2010 (UTC)[reply]
Thanks, that is a clear answer. Jc3s5h (talk) 17:35, 19 August 2010 (UTC)[reply]
Just to make it clear, I don't think there's any shuffling. The source port is some randomly assigned port above port 1024, the destination port (the web server) is port 80. There's no port reassignment. The source port is (almost always) different than the destination port. On *nix machines (and maybe windows too, I'm not sure) non-root processes cannot open sockets below port 1025. Shadowjams (talk) 06:05, 20 August 2010 (UTC)[reply]
Ah, you're right. The server-side (i.e., whomever started with listen()) may choose to re-assign the port, but it is usually not necessary. There is enough state, provided by the IP-address and client-side random port, to allow multiple communications streams between the same host and same server that are initialized on the same server-port-number (each socket-pair between host and client is uniquely identified by the client's random port-number). Server-side shuffling is therefore optional, and uncommon. (FTP uses this technique, with a "side-channel" socket that I think can be randomly assigned on both ends, with specific ports negotiated through the first socket). Nimur (talk) 17:07, 20 August 2010 (UTC)[reply]

SP6a

I want to download service pack SP6a for NT4, but the download page from microsoft.com says "The page cannot be displayed because an internal server error has occurred" and has been saying that for months. Where can I download a proper version of SP6a, because the last one I tried was some kind of virus. 82.44.54.4 (talk) 17:07, 19 August 2010 (UTC)[reply]

I'm afraid you're not going to be able to get it from Microsoft as it's not been supported since 2004, although I did check Technet and MSDN just in case, but no. Although I have no way of verifying it's authenticity this page is by someone in the same boat as you who's uploaded a local copy to their server. The comments on the page (assuming genuine) seem to suggest it's okay. Normally I'd say you should always get it from the original source, but since this is going to be impossible I think that's probably the best you can do. Still, use at your own risk etc!  ZX81  talk 17:31, 19 August 2010 (UTC)[reply]
Thanks, that's awesome! There appear to be four different downloads. Which one is the best, "High Encryption", "Standard Encryption", "56-bit Alpha", "128-bit Alpha"? 82.44.54.4 (talk) 18:59, 19 August 2010 (UTC)[reply]
You probably don't want Alpha (you'd know if you did!) and most likely you want the first "High Encryption" link (128-bit). The Standard version is 56-bit because at the time there was legal problems with encryption higher than that and exporting to other countries.  ZX81  talk 19:09, 19 August 2010 (UTC)[reply]
It is simply bad practice to encourage the use of 3rd-party distributions of Windows patches - they are probably violating distribution licenses and are difficult to vet for authenticity. NT Server hasn't been developed since 1999 - so you should have started considering an upgrade in 1999 - and it has been officially EOL'ed for more than five years - this means you should have definitely stopped using it in 2004. (The grace-period of reasonable usage is long since expired!) There are dozens of cheap and low-cost alternatives from Microsoft to help you upgrade to a more modern version; and there are lots of free software alternatives if you have a zero-dollar budget; but we should not advise you to seek out unofficially-distributed upgrades for (obsolete, proprietary) software . Nimur (talk) 17:41, 19 August 2010 (UTC)[reply]
It's even worse practice to run the system unpatched. Besides, migration costs for that server is likely to be large. 121.72.203.118 (talk) 12:53, 20 August 2010 (UTC)[reply]
But ah, he is running it unpatched, as there have no doubt been exploits that affect NT4 SP6a that have not been addressed due to the aforementioned end of life taking place many many years ago. Using a patch from an unknown source to hold up such an old system is like playing Russian Roulette with two bullets instead of just one. --144.191.148.3 (talk) 14:21, 20 August 2010 (UTC)[reply]

It seems strange that Microsoft would remove the links to NT4 service packs when they still keep the old Windows 95, Windows 3.1 and DOS help pages and update packages available to view and download, with the "This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated" disclaimer on them. Is there some specific reason why they removed NT4 downloads? 82.44.54.4 (talk) 18:59, 19 August 2010 (UTC)[reply]

They may not have deliberately removed it; it may simply be that it's no-one's job to maintain it any more, and some unrelated website change broke it and no-one's taking responsibility for either fixing it or removing the link entirely. -- Finlay McWalterTalk 19:31, 19 August 2010 (UTC)[reply]
If you have a chance to obtain SP6 (without the a), the patch to upgrade from SP6 to SP6a is still available here: http://download.microsoft.com/download/winntsp/patch/6.0a/nt4/en-us/q246009i.exe (Intel) / http://download.microsoft.com/download/winntsp/patch/6.0a/alpha/en-us/q246009a.exe (Alpha). -- 78.43.71.155 (talk) 17:11, 20 August 2010 (UTC)[reply]
Here's the most official download site I could find: ftp://ftp.lrz-muenchen.de/pub/comp/platforms/pc/winnt/sp6a/usa/ - obviously, it's not microsoft.com, but it's the official site of the computer centre for Munich's universities and for the Bavarian Academy of Sciences and Humanities (http://www.lrz.de/english/) so it's unlikely to be a hacked version. And as you can see from the file path, it's the US version of SP6a, not the German one. -- 78.43.71.155 (talk) 17:23, 20 August 2010 (UTC)[reply]

Virus embeds?

What kinds of files are viruses typically embedded in? Would a .pdf or an excel file be likely to infect a computer? What kinds of files are safe to back-up after a virus has infected a system? 138.192.58.227 (talk) 17:18, 19 August 2010 (UTC)[reply]

I think we can probably come up with a pretty good taxonomy of standard files viruses hide in, a pared down version of the information at Computer_viruses#Vectors_and_hosts. The obvious start:
  • Executables. On Windows that means EXE and COM files in particular. No big surprise there.
  • Scripts. Obvious Windows candidates are BAT and VBS (because most people won't have a system set up to run other scripting languages out of the box, I don't think).
  • Files that can contain scripts inside of them. This is the big one, because all of the MS Office products can do this. So we're talking DOC, DOT, XLS, PPT, and MDB files at the minimum. Probably more.
Now the tricky bit is that last category, because what files can and can't have scripts embedded in them (in a way that they will actually execute, which is crucial), and whether their security can be compromised in weird ways, is a very big question. PDF viruses do exist, though I don't think they're common. Excel files, definitely, yes. As for backing something up after infection... it's a tricky proposition if you're going by just file name alone. --Mr.98 (talk) 17:50, 19 August 2010 (UTC)[reply]
Are there instances of viruses infecting your MSOffice files? Or are these only from downloading files that already contain the virus? 138.192.58.227 (talk) 18:56, 19 August 2010 (UTC)[reply]
Apparently they can be spread by worms. But there are millions of viruses — presumably there would be some that would mix-and-match their vectors. Again, approaching it from the standpoint of "what can be backed up" is a little tricky. --Mr.98 (talk) 19:22, 19 August 2010 (UTC)[reply]
This link explains how to disable macros in Microsoft Office. I believe that as long as Microsoft Office is set to ignore macros, Office files that have been infected do not pose a risk to you (now if you send them to someone else, you may infect them). Other Wikipedians will correct me if I'm mistaken.--el Aprel (facta-facienda) 03:23, 21 August 2010 (UTC)[reply]

What are the two types of pop-up ads?

This relates to a question I asked earlier. Most popup ads that get past the popup blocker have a URL at the top which cannot be changed, and most of them are small and rectangular. Then there are ads which have a changeable URL along with the back button, forward button, etc. that one would expect to see on a regular web page.Vchimpanzee · talk · contributions · 17:56, 19 August 2010 (UTC)[reply]

When popping up a window with Javascript, you can disable components of the browser window, such as the address bar, buttons, status bar, etc... Most browsers allow you to disable the disabling of window components. -- kainaw 19:44, 19 August 2010 (UTC)[reply]
What I'm saying is that there is no "address bar" as such in the window, or buttons, in most pop-up ads. I'm trying to figure out the correct terminology. I probably should have said pop-up window in my earlier question because the problem wasn't happening with a regular ad.Vchimpanzee · talk · contributions · 19:49, 19 August 2010 (UTC)[reply]
Kainaw is correct that it has to do with the specifics of the Javascript that launch the window, and how the browser interprets it. See, e.g. this page that describes the settings coders can use to customize the behavior of the popup window. Different browsers interpret these a bit differently — I don't think Firefox will let you totally hide the address of a page, for example, because of the security risk of not knowing what site you are connected to. Instead, it interprets that parameter as "show but don't let them modify the address," if I recall correctly. --Mr.98 (talk) 20:15, 19 August 2010 (UTC)[reply]
Right. I'm looking for the term for an ad with "show but don't let them modify the address". I used the term "address bar" to mean you could modify. There was one method that lets there be a toolbar, the other type. That would have been a simpler way to say it than "back button, forward button, etc." so that first version would be "without a toolbar". It still doesn't say what the different versions are called.Vchimpanzee · talk · contributions · 20:36, 19 August 2010 (UTC)[reply]
Firefox calls this the "menubar" and the bar with the "forward/back" buttons the "navigation bar". Firefox also has a Bookmarks toolbar, a Status Bar, and other addons can add their own "bar". Javascript can enable or disable any of these, if you permit it. If you want to preclude Javascript from affecting these, you can use Firefox's about:config interface to control Javascript access (described in detail at Developer.Mozilla.org). There is also a "standard" menu that lets you configure some, but not all, options for JavaScript permissions. Nimur (talk) 23:06, 19 August 2010 (UTC)[reply]
If you're just looking for a term, I doubt there is one for that specific thing. It's just a popup window, and if you want to say it lacks a back button, well, you just say that. --Mr.98 (talk) 16:19, 20 August 2010 (UTC)[reply]

Computer Tech Associate

Hi. What kind of knowledge should a Computer Tech Associate have, what are the major responsibilities of this position, and what qualifications (if any) are expected? Thanks. ~AH1(TCU) 18:45, 19 August 2010 (UTC)[reply]

It depends entirely on the job. "Computer Tech Associate" could be anything from a salesman at a computer store (who only needs to know how to get people to fork over cash) to a networking assistant (who only needs to know how to keep the cables untangled) to a computer repair assistant (who only needs to know how to fdisk-format-reinstall) to a computer electronics tech (who only needs to know how to use a grounding strap when swapping out components). You need to ask whomever is hiring a Computer Tech Associate as it is a very general term, like medical assistant or construction assistant. The specific job creates the qualifications and expectations. -- kainaw 19:43, 19 August 2010 (UTC)[reply]

Locating mobile phones internationally

Hi. Say you're in the UK, and you dial a UK mobile number, and that phone happens to be in another country. What, in simple terms, are the steps that enable the network to locate that phone, given that (I assume) the number you dialled is not guaranteed to be globally unique.

The phone number is globally unique. All numbers issued in country XYZ are unique within XYZ and there is an implied country code prefixed to it. So UK phone 07777-777777 has the unique global number +44-7777-777777. Whilst some other countries "7777-777777" will become (say) +123-7777-777777. I don't KNOW how it works, but I do know that turning your phone on in another country "registers" it with that foreign network. I imagine that that netwrok lets the "UK" know that the relevant phone number in now in the particular country. -- SGBailey (talk) 22:38, 19 August 2010 (UTC)[reply]
The number is globally unique; the full number is +44 7xxxxxxxxx, and it's the same number regardless of where the phone roams. Calling a UK mobile that's roaming in Darkest Peru entails calling the same number as you'd call if it was in the next room. The second part of your question is routing. Phones (strictly SIMs) are identified by their IMSI codes. Say you turn on a UK Vodafone mobile in Darkest Peru. It searches for all the available towers, hoping one is Vodafone UK. It doesn't find one, so it connects to anything, say a Claro Peru one. This handshake exchanges the SIM's MCC and MNC codes, 234 and 15 respectively, which identify it as a Vodafone UK. The Claro central office connects to the Vodafone UK central office and verifies that Vodafone will accept payment on this SIM (big telco providers have direct relationships with one another, smaller ones may use a big one as an intermediary). Vodafone confirms this, and remembers that the mobile is in Claro Peru's territory. So if someone in the UK phones that 07xxxxxxxxx number, Vodafone knows to route the call to Claro. Things are simpler if the phone, in Peru, makes a call - Claro routes the call as it would one of its own, but it sends the billing transaction to Vodafone. -- Finlay McWalterTalk 22:49, 19 August 2010 (UTC)[reply]
One thing that doesn't seem to be implemented by the GSM handshake is a a way to prioritise non-home network selection. So if that phone, turned on in Peru, can't see a Vodafone connection, but seeing towers run by Claro, Avanza, and Movistar, it will pick whichever it likes (often it gives the user the choice). If Vodafone has a deal with Avanza that makes the calls cheaper, that doesn't affect the handshake. In this circumstance I've received a text message from my home network saying "you could get cheaper calls if you connected to Avanza instead", but it's down to me to do it manually. -- Finlay McWalterTalk 22:56, 19 August 2010 (UTC)[reply]
To clarify one thing that may not have been obvious from FW's answer. If someone calls you while roaming, the call will always go thorough your home operator (at least AFAIK), even if it's from someone sitting right next to you. This isn't really that surprising, when someone calls you, your number is a UK one, specifically a UK Vodafone one so the network of the person calling you connect it to Vodafone UK, who then have to send it back to you since they know you're there. This is I think one of the key reasons why receiving a call is usually rather expensive and in fact receiving a call from someone in the UK is often the same price, perhaps even cheaper then receiving a call from someone where you're actually located. (Calling someone locally is often far cheaper, also for the caller of course.)
In theory with smart IP networks, it wouldn't be that hard (relatively speaking) for the initial connection to go thorough Vodafone UK, but then Vodafone UK tells the network of the calling party to route it to the network the phone is currently connected to (although there's need to be some way to handle voicemail and stuff like that) but I don't know if this is implemented if at all (it may be for networks run by the same parent company particularly if in a similar geographical location, I know for Vodafone NZ you could use your phone in Australia and only pay normal Vodafone NZ local rates IIRC, you didn't even need to register for roaming which you normally had/have to do).
BTW, while FW is right I think about the lack of prioritisation, that's I think only a problem if your network actually has a deal with the other networks. If there are 3 networks where you're located, but your network only has a deal with one, the other 2 networks which just tell you to bugger off when you try to connect to them (well it will probably say you can connect to me but only for emergency calls). (Or if it does connect, you'll see the emergency calls only and hopefully try a different one.) So at worst it may slow down getting a network.
Nil Einne (talk) 00:14, 20 August 2010 (UTC)[reply]
The mobile operators mostly have little financial incentive to implement smart routing (in practice I think all the CO equipment is quite capable of it, if configured to do so) - they like all that lovely roaming money they get, from temporary customers to don't know, and mostly can't shop around. The EU directive capping inter-member roaming charges (here) may incentivize them to do it (although they're still getting 37p a minute, so it's not that much of an incentive). It's quite possible that the EU will eventually want to abolish inter-member roaming fees altogether (it's really quite a marked obstacle to a single market) and you can bet the operators will route traffic very efficiently in that event. -- Finlay McWalterTalk 00:38, 20 August 2010 (UTC)[reply]
  • Thanks for all the answers! When I said "not guaranteed to be globally unique" I meant "not guaranteed to be globally unique unless a country code (or some other relevant code) is appended". So, really is it just that if you don't append a country code then you're assumed to be calling a mobile issued in the same country that you're calling from, and the appropriate country code is transparently appended by the network to uniquify the number? —Preceding unsigned comment added by 86.184.25.4 (talk) 00:53, 20 August 2010 (UTC)[reply]
I think that, if you fail to add a country code, then the assumed country is the one that the phone is registered in. i.e. if you're in Peru and call 07777 777 777 on a UK Vodafone phone, then I believe you get a UK number. Open to correction, though.--Phil Holmes (talk) 08:02, 20 August 2010 (UTC)[reply]

are laptop fans interchangeable?

For months now my laptop fan has ceased to work, i.e. there is no exhaust air coming out even when the laptop is at 80 C. I have been using a hack of an external fan + cooling pad, which sometimes keeps the internal temperatures at 40-50C. The CPU is often cooler than the motherboard air which I take to be a sign that the big laptop fan has failed and not the CPU heatsink fan.

Now, I haven't taken it apart to look at lint clogging, etc. I have already sprayed the outside of my laptop (and its vents) with compressed air. Is it likely that my fan has ceased to work completely, or will spraying my fan with compressed air free it up again? Also I can't find any laptop fans for my model in stock. How interchangeable are laptop fans? I kinda want to upgrade to an extra loud, extra powerful one anyway. John Riemann Soong (talk) 23:33, 19 August 2010 (UTC)[reply]

The fans are very often part of a fan unit, which includes a duct or heat-pipe, and you'd end up having to replace the whole thing. As such units are contorted to the weird spaces available, they're generally model-specific. I've never known dust etc. to foul a fan so completely that it doesn't work, just that it becomes noisy and inefficient. Note that your BIOS may have a screen that shows the fan's speed (or try Speedfan). -- Finlay McWalterTalk 23:43, 19 August 2010 (UTC)[reply]
On the Mac, iStat Pro can show fan speed, amongst other things such as temperatures. Chevymontecarlo 07:04, 20 August 2010 (UTC)[reply]

Certifications/ASP

First a background: I've not been working in the IT/programming industry for several years, although computer science was my major. I am currently in the process of looking for work here, but the economy stinks so companies don't want to hire people with very little experience. The ones that do mostly require some sort of certification, e.g., A+ certification. My questions:

  1. How can I go about getting one of these certifications?
  2. What's the best way to go about learning popular languages and frameworks like .NET and ASP (everyone seems to be looking to hire for these)?

I am willing to put up some money for the training, but I'd sure like to not have to spend more than 1 or 2 grand total. I live in the US. Magog the Ogre (talk) 23:59, 19 August 2010 (UTC)[reply]

Microsoft has some pretty good online training material for things like ASP.NET (some of which is free). Their info for training and certification is here (comparable things are run by Oracle, Redhat, Cisco etc.). Exams that go toward certification are generally administered by specialist testing companies (MS seems to use Prometric a lot), where you go to their testing centre (which is "local"). These tests aren't terribly cheap (MS ones in the US administered by Prometric seemed to cost $125 each); how many you need to take depends on the certification, but it seems to take several. That's the only cost you need to do; for many things they also sell self-study guides and of course (if a company with deep pockets is around to pay for it) optional training. -- Finlay McWalterTalk 00:55, 20 August 2010 (UTC)[reply]
And if you're wondering, the test is almost always entirely computer based. All the testing company does is verify your identity (so you haven't sent someone knowledgeable in to do the exam for you) and they watch that you don't cheat. For some certifications (like Cisco networking things) you really have to buy a simulator (as you obviously can't be experimenting on a room full of Cisco switches). -- Finlay McWalterTalk 00:59, 20 August 2010 (UTC)[reply]

August 20

Burning FLV straight to DVD

Hello! I've spent the better part of four hours split between today and yesterday trying to convert a Flash video file into a format that Windows Movie Maker would like so I could burn it to a DVD that would be readable by a standard DVD player. The problem was every time I tried either the Windows Movie Maker couldn't play the converted file, or VLC Player's converter or Mencoder (which use the same set of codecs, as I understand it) mangled the file one way or another. Needless to say, I'm fed up trying to jump from one encoding to another and was wondering if anyone knows a way to burn FLV files to DVD-player-readable DVDs with as little effort as possible. A quick Google search suggests some program called "FlashOnTV," but I'm weary of freeware programs I've never heard of, that they might contain some malicious code or won't do the job right, given the hard time I've had working with completely open-source alternatives. Suggestions? By the way, I'm using DVD+RWs, but I assume that these should work the same as DVD+Rs, with the rewritability as an extra. Much appreciated.--el Aprel (facta-facienda) 05:12, 20 August 2010 (UTC)[reply]

I use a shareware tool called ConvertXtoDVD, it's always worked for me. Sandman30s (talk) 08:52, 20 August 2010 (UTC)[reply]
For converting flv to something Windows Movie Maker will likely understand you can use avidemux. Load the flv into it, set video option to "MPEG-1", audio to "mp3", and format to "avi", then File -> Save -> Save video, and it will encode it. 1230049-0012394-C (talk) 13:39, 20 August 2010 (UTC)[reply]
Aaah, thank you! Avidemux has to be the easiest encoder/decoder I've ever set eyes on. It performed much more reliable conversions than what I was getting with other software. I will have a look at CovertXtoDVD too, which probably saves time without an intermediate format. Thanks for the help.--el Aprel (facta-facienda) 23:05, 20 August 2010 (UTC)[reply]

Flickr

How do I download a Flickr movie? I know how to download a Flickr picture (i.e. jpg). I use Microsoft Vista.--Doug Coldwell talk 12:14, 20 August 2010 (UTC)[reply]

VideoDownloadHelper addon for Firefox can download them 1230049-0012394-C (talk) 13:26, 20 August 2010 (UTC)[reply]
I don't believe I have Firefox. Do I have to download it first? Will it work on Vista?--Doug Coldwell talk 14:31, 20 August 2010 (UTC)[reply]
Yes you will need to. Yes it will. If you are still using IE, FF will make you happy. -- Finlay McWalterTalk 15:02, 20 August 2010 (UTC)[reply]
Downloading video from Flickr is (1) difficult, but (2) not impossible. According to Flickr, this is against the rules; users "may embed your video in other web pages, provided they have permission, but can’t “download” them. Flickr uses a weak version of digital rights management by hiding the video data behind a server-side Flash application. For example, this video can be streamed and the complete data is downloaded to your computer, but "stays" inside the Flash framework. You will need a third-party program, like VideoDownloadHelper to intercept the video data as it transits from the Flickr server to your Adobe Flash player in your web-browser (or the straw-man Flash-player that VDH emulates internally). Other programs exist that can perform this function; or if you are a very technical person, you can intercept the packets and reconstruct the data yourself. But ultimately, the reason this is (1) "difficult" is because Flickr is trying to prevent you from doing it. In the future, it may be (2) "impossible" - if Flickr changes its video-system and strongly encrypts its data transfer, it will be impossible to play the video-data in "untrusted" video players (even if you manage to intercept and download it). My recommendation is do not use Flickr - or Youtube - or any other web site - that asks you to sign away the rights to your own content. Host your own photos, videos, and data on your own servers - it is not very difficult to learn how to do. I realize that this sort of runs against the grain of the "web 2.0" movement - but it is the most sustainable way to re-democratize the internet. Nimur (talk) 17:48, 20 August 2010 (UTC)[reply]
Amen, Nimur!--el Aprel (facta-facienda) 23:07, 20 August 2010 (UTC)[reply]

64 bit

A have a few questions about 64-bit. Can you install a 32-bit OS on a 64-bit computer? When a program has both 32-bit and 64-bit versions, what is the actual difference between them? Why is 64-bit necessary, is it really impossible to get more than 4 GB of ram on a 32-bit system? 82.44.54.4 (talk) 14:51, 20 August 2010 (UTC)[reply]

For both Intel and SPARC then yes, you can install a 32 bit OS on a system running a CPU; I don't know about other architectures. A 64 bit OS allows native 64 bit ints and 64 bit pointers (although a given 64 bit application may not necessarily be compiled that way). Yes, you can get more than 4GB of RAM on a 32-bit Intel system, using Physical Address Extension. -- Finlay McWalterTalk 15:01, 20 August 2010 (UTC)[reply]
Right - as Finlay has effectively pointed out, "64-bit computer" is not sufficient to identify the type of computer. Often, (nowadays in 2010), "64-bit" is synonymous with "x86_64", the 64-bit architecture used by Intel and AMD. For this specific type of system, 64-bit hardware is backwards compatible with all 32-bit software (though 32-bit software does not take full advantage of the new capabilities).
64-bit computers actually physically connect to more memory by providing more physical wires (and a set of instructions to directly load and store data using those wires). PAE, a specific way to extend 32-bit Intel computers' address space, is sort of like a compromise - PAE adds physically connected RAM, up to 36-bits worth. And it provides a way for a 32-bit system to compute and use 36-bit addresses, increasing the total number of memory locations that can be reached directly.
As far as "impossible" to extend beyond those limits: well, there is a fundamental rule in computer science that can be roughly summarized: all computers can emulate any behavior that any other computers can do. So, it is definitely possible to load an arbitrary quantity of RAM on a 32-bit platform (or even a 4-bit computer). But it won't be very fast! In a sense, a "hard disk drive" is a serially-accessible memory unit that can serially store "arbitrarily large" quantities of data - but it is not RAM in the literal sense, for exactly this reason. Though, technology exists to "emulate" random addressing on any type of storage-medium; and it is very common to pretend that the disk is RAM!. Nowadays, you can even buy RDMA servers, so you aren't limited by disk scan-speeds, and can add "arbitrarily large" quantities of network-attached RAM that is faster than disk access. But you still have to transfer the data from somewhere to the CPU; and the CPU needs to calculate where that data resides and how to get to it, (and handle the message-passing necessary to execute the transfers, and so on). Since such "emulation" means that there is not a direct connection between the CPU and any "random" address, it is slow to load data from these extended address spaces - and usually, computer designers don't like to spend a lot of time "emulating" basic operations like finding an address in memory. Most common operating systems will not permit you to address beyond the physical memory limitations of the CPU, because they know this is a dumb idea and will slow your computer programs to a grinding halt - but for some very specialized purposes, you can find extremely large-memory operating-systems that work on 32-bit CPUs. Nimur (talk) 17:38, 20 August 2010 (UTC)[reply]

Button on taskbar disappeared, the sequel

I forgot to ask about a way to videotape this. The computer has Firefox and is at a library.

This refers back to this question and this sequel.

This may not help anyone diagnose WHY the problem is happening, but today, when an ad was slow coming up, I switched to another window, and the button for the window I had been on disappeared. I was able to return to the window where I had been by clicking on the button for the window that I had gone to, and magically the button for the window whose button was gone appeared on the right, though it had started out on the left.

Last night, I had three buttons. I tried to switch to one of the buttons while an ad was very slow to come up, and then the button wasn't there, and Alt-Tab wouldn't make it come back. A few minutes earlier, one button disappeared, but by clicking on one of the buttons twice, the window came back and then the button did too.

On another occasion I had just two buttons and lost one.

I saved the addresses somewhere (but I don't know where) of the web sites that are particularly problematic today. This being at a library, I doubt they'll put in ad-blocking software. I think one of the addresses I was seeing at the bottom of the screen when an ad was slow to come up was cdn4.specificclick.net.Vchimpanzee · talk · contributions · 18:04, 20 August 2010 (UTC)[reply]

Without knowing the operating system of the computer and ALL of the software running on the computer, this cannot be diagnosed as a problem. It could be the design of whatever is running. Further, it would help if you used language that is common for others. You appear to be referring to the taskbar. When you say "button", most people will assume you are referring to a button somewhere on the screen, not a task on the taskbar. When you say that a button disappeared, you appear to mean that a task disappeared from the taskbar. Not all taskbars are the same. Some have grouping. When multiple tasks group together, they are shown as a single task. Others have hiding. Based on some rules, tasks that aren't being used will be hidden from the taskbar. So, without knowing exactly which taskbar you are using, it is hard to say that this is not how the taskbar is designed to operate. -- kainaw 18:46, 20 August 2010 (UTC)[reply]
Just be glad I figured out I could call it a taskbar. I used to refer to "the rectangles at the bottom of the screen". One day I listened to those who want me to Google for information and found the term "taskbar" and the term "button". It looks almost exactly like Taskbar#Screenshots but without the "e" and other symbols. When I say "button" I am referring to the blue rectangles, and they generally have a web site name, or sometimes just "Mozilla Firefox". One today said "Compose mail". There is no grouping taking place. These buttons are not supposed to disappear. And the tasks are not stopping. They are just hiding (and not because software was written for them to hide). This has only been going on for a couple of weeks.
Screenshots ... that gives me an idea. I don't know that anyone would videotape me working, but I could do a screenshot. Although I don't really know howVchimpanzee · talk · contributions · 19:18, 20 August 2010 (UTC)[reply]
VChimpanzee, based on the contents of your nearly weekly questions, you seem to be having extreme difficulty with basic operation of these computers. Either something is seriously faulty with the equipment, and you should report it to the owner/operator of the library-computers; or you should seriously consider an introductory class in operation of web-browsers. Check with your library to see if they offer a course in basic internet and computer use. If you are honestly unfamiliar with the basic terminology and operation, you might benefit a lot from a structured training course. We have a policy of assuming that you are posting your questions in good faith, but your descriptions and questions are really becoming quite inane - in this particular instance, it is not even clear what you are asking. There is a limit to how long these rants will be tolerated. Nimur (talk) 20:13, 20 August 2010 (UTC)[reply]
I am asking why these buttons are disappearing. I went to the trouble of learning what the terms were and even that wasn't enough for some people. I am not ranting. I am asking valid questions.Vchimpanzee · talk · contributions · 20:22, 20 August 2010 (UTC)[reply]
You will get better answers if your posts are formulated as questions and concisely summarize your problem. There is definite lack of questions, or even "?" punctuation in your posts. Nimur (talk) 21:28, 20 August 2010 (UTC)[reply]
You have been given two answers, both of which you appear to refuse to consider:
  1. It is by design. The library has some modified taskbar program that purposely hides things. Without knowing what modifications are installed, we cannot make guesses about it.
  2. There is a virus or malware on the computer. Without knowing specifically what is infecting the computer, we cannot make guesses about it.
Until you can definitely show that the library has not modified the operating system and that there is no infection on the computer, we cannot go any further. -- kainaw 15:26, 21 August 2010 (UTC)[reply]

Registry access from a different OS

I have a computer which dual boots into Windows XP Home and Professional; or did before its Home edition died. It is still technically installed but impossible to boot into. What I need to know is, how can I access the registry of Windows XP Home from Windows XP Professional? Thanks. 97.125.84.72 (talk) 21:41, 20 August 2010 (UTC)[reply]

Assuming you can actually see the Windows XP Home installation files, you can load the registry hive. To do this you need to run the registry editor (regedit.exe) and click HKEY_LOCAL_MACHINE (because I assume that's what you want to edit given the problem with it not actually booting). Then from the file menu select "Load Hive" and navigate to the Windows\SYSTEM32\Config folder of your Windows XP Home machine (You have to click the key other Load Hive will be greyed out). Select the file you want to open depending on where in the registry you want to edit (SOFTWARE or SYSTEM probably?) and if I remember correctly it'll then ask you for a name to call this, you can call it anything you like, it's just for your reference and it'll appear mounted from that point. If you want to open another key just repeat the process. Do your editing and unload the Hive pretty the same way. Hope this helps!  ZX81  talk 22:10, 20 August 2010 (UTC)[reply]
Microsoft link about it is here (although they don't go into any great detail!)  ZX81  talk 22:12, 20 August 2010 (UTC)[reply]
There's a linux program that allows this too, although the name escapes me right now. Let me know if that would be helpful and I can find out the name for you. Shadowjams (talk) 02:58, 21 August 2010 (UTC)[reply]

Program to compare drives/folders

Let's say that I cloned a hard drive onto another drive, but I think something may have gone wrong, as the total space used, and total number of files are different now. Anyone know of a (free) program that can compare the two drives? Sort of like a duplicate file folder, only opposite (if that makes sense). Thanks. -71.62.210.112 (talk) 21:52, 20 August 2010 (UTC)[reply]

FastCopy can, just select the two drives and click "Listing" and it will output a list of any differences. It can copy any missed files so that the cloned drive contents are identical to the original, without having to recopy the entire drive again. ICE Mirror can also do this 82.44.54.4 (talk) 21:56, 20 August 2010 (UTC)[reply]

August 21

Would this power supply be sufficient for this build?

ASUS Crosshair IV Formula Motherboard - AMD 890FX, Socket AM3, ATX, DDR3, USB 3.0, RAID, SATA 6.0GB/s

AMD HDT90ZFBGRBOX Phenom II 1090T Black Edition Six Core Processor - 3.20GHz, 6MB Cache, 2000MHz (4000 MT/s) FSB, Retail, Socket AM3, Processor

Thermaltake CLP0564 Frio Dual 120mm Universal CPU Cooler - LGA1366, LGA1156, LGA775, AM3, AM2+, AM2

Western Digital WD10EARS Caviar Green Hard Drive - 1TB, 3.5", SATA 3G, 64MB Cache, GreenPower

XFX HD585XZABC Radeon HD 5850 Black Edition Video Card - 1GB GDDR5, PCI Express 2.0, CrossFireX, DirectX 11, HDMI, Dual DVI x2 Planning to crossfire.

Corsair CMT8GX3M4A1866C9 Domintor GT Dual Channel 8192MB PC15000 DDR3 Memory - 1866MHz, 4x2048MB, 9-9-9-24

Cooler Master RC-942-KKN1 HAF X ATX Full Tower Computer Case - ATX, 230mm Red LED Fan, USB 2.0/3.0, 9x Expansion Slots. *Supports XL-ATX, 4-way SLI and Quad Crossfire X

Would this power supply power this build? XFX 850W Black Edition Modular Power Supply - ATX, 80 Plus Silver, 135mm Fan, Single Rail, NVIDIA SLI, ATI CrossFire Ready

Any help would be much appreciated:) —Preceding unsigned comment added by 99.155.19.25 (talk) 00:45, 21 August 2010 (UTC)[reply]

You know Caviar Green drives are not good as boot drives right? You are spending quite a bit of money here, so might as well get a SSD. Get a Sandforce or Intel. If you insist on using HDD, at least get a F1 or something. 121.72.208.23 (talk) 02:42, 21 August 2010 (UTC)[reply]
OT, but my recommendation for SSDs applies equally whether you are buying a 6 core like OP or an el-cheapo 2 core Athlon X2 250 like me. It really does make a huge difference to the computer's responsiveness. 121.72.208.23 (talk) 02:49, 21 August 2010 (UTC)[reply]

want to edit the boot.ini

This is is my boot.ini on WinXP machine. I want to remove the OS selector window appearing each time I boot. There is only one OS currently. What should I edit out to do that?

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
c:\grldr="Start GRUB"

--117.204.83.220 (talk) 04:34, 21 August 2010 (UTC)[reply]

Remove the c:\grldr="Start GRUB" line and then boot from your Windows XP installation CD. Run the recovery console and type fixboot and press ENTER. Then type fixmbr and press ENTER. Besides changing boot.ini Linux also edits the MBR on your drive. So, simply changing the boot.ini file isn't enough.--Best Dog Ever (talk) 04:47, 21 August 2010 (UTC)[reply]

php functions

been searching for a php function that when supplied with an array key would return its current array position, i mean when keys are integers but not the same as the positions in the array. and also one that would set an array current position to the specified pos so when you do foreach for expample it would start right from there I also need only php-built in ones not written by yourself

thnx —Preceding unsigned comment added by 85.26.241.39 (talk) 06:59, 21 August 2010 (UTC)[reply]

Is array-search what you need? -- Finlay McWalterTalk 11:39, 21 August 2010 (UTC)[reply]
I don't think so — if I understand correctly (and man, it would help to give more concrete examples), he has an array like this:
array (
2 => apple,
4 => orange,
5 => grape);
And what he wants is to say "where is 4?" and it will say, "oh, 4 is in position #2 out of 3 in the array." I don't think there's a built-in function that can do that. You will either have to write one (which could be quite slow depending on how big your dataset is), or you will have to re-work your code so it doesn't require knowing that information. I suspect the latter because you can't start a foreach from an arbitrary position — you can't set the array pointer arbitrarily, you have to start from the beginning and advance it either with "each" or "next" statements.
The only way to do more or less what you want that I can see is to dump the keys into an array (array_keys), then use array_search on that array to find the position, and then just reference the original array by the key name. --Mr.98 (talk) 14:54, 21 August 2010 (UTC)[reply]
A short function that does what you want is here. But I remind you that you can't start a foreach arbitrarily — it always starts from the beginning. What you could do is extract the part of the array you want to traverse into a new array, so that the beginning is where you want it, I guess. All of this sounds very inefficient to me, though.
function key_pos($input_array, $key) {
	$key_array = array_keys($input_array);
	return array_search($key, $key_array);
}
--Mr.98 (talk) 15:10, 21 August 2010 (UTC)[reply]
And here is an example that integrates it with your traversing of the array (which can't be done with foreach):
$arr = array (2=>"apple", 4=>"orange", 5=>"banana", 10=>"grape");

$key_array = array_keys($arr);
$key_orange = array_search(4, $key_array);

for($i=$key_orange;$i<count($arr);$i++) {
	echo $key_array[$i]."=>".$arr[$key_array[$i]]."\n";
}
That will output "orange, banana, grape", skipping "apple". I don't know if this is faster than just iterating over the whole thing with a foreach and ignoring the values that come before your desired key. --Mr.98 (talk) 15:14, 21 August 2010 (UTC)[reply]

Ubuntu home directory and settings in kde

I just reinstalled ubuntu and I thought that copying over my previous home directory would restore my old settings. That doesn't seem to have happened at least with respect to kde. Are these settings stored somewhere else? —Preceding unsigned comment added by 166.137.142.134 (talk) 09:00, 21 August 2010 (UTC)[reply]

Are you sure its KDE not Gnome? Ubuntu uses Gnome by default (Kbuntu is a version of Ubuntu that uses KDE by default). KDE's configuration is stored in ~/.kde3 where ~/ is your home directory. Some programs hide files starting with a . by default. CS Miller (talk) 11:05, 21 August 2010 (UTC)[reply]

Date modified in vista

Why is "date modified" not a default category to sort your files by in Windows Vista? It was in earlier versions of Windows. It's totally annoying that it isn't. You can still apply that category to a folder, it just takes longer.--Hsardoft (talk) 09:04, 21 August 2010 (UTC)[reply]

It depends what files Vista thinks are in the directory. If it believes there are photos, then it doesn't display Date Modified. If it thinks the contents are "All Items" then Date Modified is a categroy. You can get Data Modified to display in a folder by Right Click, Customize this folder and set it to All items. Annoys me too. --Phil Holmes (talk) 09:48, 21 August 2010 (UTC)[reply]

Fake email address

Doing a bit of reading about Phishing I know it is fairly straight forward to do a fake web page for login purposes, but is it also possible that a fake email address could be set up, I know a lot of companies use the standard firstname.lastname@companyname.com so what I was wondering could someone set up an email address using this format for instance joe.bloggs@bankofengland.co.uk, thanks Mo ainm~Talk 14:06, 21 August 2010 (UTC)[reply]

Email protocol allows you to use ANY email address when you send an email. It is very very very easy. In your email program, you will see a setting for "my email address". Set it to "president@whitehouse.gov" and send an email to your friends. There is no check to ensure that is your email. Spammers tend to use millions of email addresses and they randomly select one as the "from" and use that to send email to millions of others. Whomever has that from is then inundated with thousands of "failure" responses. -- kainaw 15:16, 21 August 2010 (UTC)[reply]
To clarify what Kainaw said - the From: and Reply-To: fields in an email address are about as reliable as the return-to address on the outside of a paper envelope - the sender can put on whatever they want.
If you want to setup a fake receiving email address it is just as easy as setting up a fake web site.
To set up a site, real or fake you -
  • Request a static IP number from an ISP, you have no control over the IP number, as it will be allocated from your ISP's pool.
  • Request a DNS name from a registrar. This gets you something like .example.com. You have full choice of this, except some TLD are restricted, for example .gov and .mil are only allowed for use by the US government.
What you do with the domain is up to yourself, however you would normally -
  • Set up a computer with that the IP number, either at home or in a colocation centre.
  • Install a DNS server on the computer, have the registrar delegate all queries for .example.com to your computer.
  • Set up the primary name of the computer as www.example.com.
  • In your DNS server, set up an Address alias smtp.example.com to your computer; it is now known as "smtp.example.com" as well.
  • In your DNS server, set up an MX DNS record (Mail eXchange), this is used for delivering email to @example.com, point it at smtp.example.com
  • Set up a mail server and www server.
This is what you do for a legitimate server. Since you are in full control of all addresses under the .example.com, and domains are resolved right-to-left, you can you can set up a fake site at whitehouse.gov.example.com. To do this you would -
  • In your DNS server, set up an Address alias www.whitehouse.gov.example.com, aliasing it to www.example.com
  • In your DNS server, set up an MX DNS record @whitehouse.gov.example.com, pointing it to smtp.example.com
  • Modify the www and mail server configurations so they will accept queries to whitwehouse.gov.example.com as well as the primary ones set up above
You can now send and receive email from barack.obama@whitehouse.gov.example.com which has nothing to do with barack.obama@whitehouse.gov
Note none of this has fairly easy to do, at technical level.
However, impersonating Barack Obama might be illegal, and is likely to get you extradited to the US.
CS Miller (talk) 15:52, 21 August 2010 (UTC)[reply]
Thats great thanks so even if the email comes from what looks like, in your case Csmiller, Barack Obama, just because it follows the correct format it could still be a fake address, thats exactly what I was wondering. Follow on question say I set up the email address barack.obama@whitehouse.gov and their was a legitimate email address for the American president using the same, when I typed in the address who would get the email? The fake President or Real? Mo ainm~Talk 15:59, 21 August 2010 (UTC)[reply]
The anatomy of an email address:
username @ subsite  .   site  .  ext
     |       |           |        \__ Top level
     |       |            \
     |        \            \_________ Second tier
     |         \
     |          \____________________ Third tier
     |
     \________________________________ Username


In order to decide where an email goes, the url is parsed from right to left; and as CSMiller has explained, whoever controls any tier has total control of the names of the subtiers from that point on. So, whitehouse.gov is controlled by the government; but whitehouse.gov.nimur.com is controlled by whoever controls nimur.com. The parse-order precedence is right-to-left; so if you want to guarantee identity, you need to make sure that the top-most (right-most) tiers are trusted (i.e., that you are sure they are who they say they are). Nimur (talk) 16:09, 21 August 2010 (UTC)[reply]

Ipone 4 Apps

Is it true that if I were to purchase an Iphone4 Unlocked PAYG, I would be able to access less apps than I would on a contract phone? —Preceding unsigned comment added by 85.211.141.84 (talk) 14:41, 21 August 2010 (UTC)[reply]

Malware through video codec?

Is it currently possible to be infected with malware through a video codec? --Belchman (talk) 15:03, 21 August 2010 (UTC)[reply]

From this link in 2008 it appears it is. Mo ainm~Talk 15:07, 21 August 2010 (UTC)[reply]

Student laptop webcam surveillance

What steps can students take to avoid webcam surveillance of the sort described in Blake J. Robbins v. Lower Merion School District?
Wavelength (talk) 15:17, 21 August 2010 (UTC)[reply]

Put masking tape over the camera lens ;D --71.141.97.250 (talk) 16:14, 21 August 2010 (UTC)[reply]