Wikipedia:Reference desk/Archives/Computing/2012 September 27

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Computing desk
< September 26 << Aug | September | Oct >> September 28 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.

September 27[edit]


how do you compute a tcp check-sum? (if possible, i would love python code for it.) thanks, (talk) 00:53, 27 September 2012 (UTC)

If you're referring to the TCP of TCP/IP, there is a section on the checksum in the article Transmission_Control_Protocol#Checksum_computation. Note the algorithm has differences for IPv4 versus IPv6. Googling tcp checksum calculation python gives several results which have example C code (though unfortunately no Python examples), which should be straightforward enough to convert to Python. There are also a number of hits which discuss using Scapy to do the calculation, which is probably the best way of doing it for production (rather than self-enrichment) purposes. (Avoid re-implementing the wheel.) -- (talk) 02:13, 27 September 2012 (UTC)

screen capture[edit]

i was wondering how screen capture software works. (i have some programing experience, and some knowledge of computer hardware.) p.s.: why do you have to hit "save page" on here before you get the captcha? thank you, (talk) 00:57, 27 September 2012 (UTC)

For the captcha, they want to verify you are human before saving, so that seems the logical place, although it would be a pain to type a long entry only to find it's rejected because you can't make out the captcha. BTW, once you sign up for a screen name, they stop asking you to identify captchas here. StuRat (talk) 01:12, 27 September 2012 (UTC)
Screen capture software is architecture-specific (i.e., X Windows is different from Microsoft Windows, etc.), but the general principle is always the same: the system has a bitmap somewhere that represents the current contents of the screen, and the software makes a copy of that bitmap, or a portion of it. Looie496 (talk) 01:52, 27 September 2012 (UTC)

Looie496, is the bitmap is on the ram? — Preceding unsigned comment added by (talk) 02:16, 27 September 2012 (UTC)

In X, the only system I'm intimately familiar with, it lives in the computer's memory address space. In X, the entire screen is treated like a single large window, the "root" window. In any system it has to be stored in some sort of fast memory, but theoretically it could, for example, be on a graphics card or elsewhere. Looie496 (talk) 02:48, 27 September 2012 (UTC)
In the most trivial case, the entire displayable area is laid out in memory in a frame buffer in a useful and convenient data format. A "screen shot" simply dumps that memory to file, in a standard image file format. However, in many computer systems, there need not actually be a complete frame buffer for the entire screen, ever. There are many reasons why; the most common reason is that memory is expensive, and frame-buffers are inefficient ways to use precious system resources. Hardware acceleration can enable pixels to go to the display that have never been resident in RAM; or that have been geometrically transposed to a corrected location. For example, on OS X, you may have on-screen representations using Core Image; and per the official documentation, a Core Image data structure "is a recipe for how to produce the image. The image is not yet rendered." Those pictures show up on your display; but the data that represents them is not a pixel bitmap; it may be a CoreImage object (or anything else). On Windows XP, with video hardware acceleration, a video might appear as a green or magenta rectangle when capturing a screen-shot. So, screen capture can have some subtlety! It is usually desirable that the screen-capture software either emulates the display hardware, executes the image data through the display hardware, or mandates that the operating system produce a valid frame buffer. Not every operating system can or will meet this requirement. Nimur (talk) 03:25, 27 September 2012 (UTC)
No, any rendering that's done by the CPU or GPU always targets an in-memory bitmap. Blitting literally copies bytes from one region of memory to another. In a compositing window manager there's a bitmap for each window and a full-screen bitmap (the primary frame buffer), and whenever some part of a window is repainted the corresponding part of the full-screen buffer is rerendered from the new window bitmap. This uses more video memory than traditional window managers that paint directly to the full-screen bitmap. Hardware overlays do bypass the primary frame buffer, but this doesn't save memory either since the corresponding part of the frame buffer still exists, even though it's obscured by the overlay. The point of the overlay is to avoid the time penalty of writing pixels to the buffer and later reading them back. In general, though, you can't avoid that penalty because you can't compute the pixel values just-in-time in raster scan order. You need a buffer. -- BenRG (talk) 05:05, 29 September 2012 (UTC)
BenRG, above I have cited three examples where a framebuffer is not used. I can cite an additional computer system that does not use a frame buffer: the Cyclone II development board, whose DE2 sample development board contains a video output-port. One classroom exercise included with the design and development documentation is a project to build a VGA output port without using RAM. While I'm sure your experience with many computers has led you to believe that a framebuffer is necessary, it's evident that you've worked with a very small subset of all possible types of hardware and software computer systems. Your assertion that pixel values cannot be computed "just-in-time" is patently false; this style of producing pixels "on-demand" for the video output system is not merely possible, it is commonplace in modern hardware, because it can be significantly more efficient in terms of power, energy-consumption, and dollar-value cost. You may continue to make assertions about whatever you believe that CPUs and GPUs "always" do; but I implore you to check your sources again. Even if we consider only those computer-systems whose hardware- and software- specifications are made public or provided as free software, there are many counterexamples to your assertion. Nimur (talk) 17:25, 29 September 2012 (UTC)
I was talking about ordinary consumer video cards. It's possible in principle to do what amounts to on-the-fly raytracing if you have fast enough hardware or a simple enough scene, but that's not how consumer video cards work. As I said, you are correct about the hardware overlay support that's used by a lot of video players and leaves green rectangles in screen captures. But to the extent that you were talking about consumer video cards—and you seemed to be, given the mention of OS X and so on—everything else you said was wrong. See for example. -- BenRG (talk) 18:46, 30 September 2012 (UTC)

python mode[edit]

need python code to compute "mode" (statistical mode). thank you. (talk) 03:40, 27 September 2012 (UTC)

Here's a quick implementation that gets the mode of its command line arguments:
#!/usr/bin/env python

import sys

def mode(iterable):
    """Get the mode of the items in an iterable."""
    return max(iterable, key=iterable.count)

if __name__ == "__main__":
        print "The mode is %s." % mode(sys.argv[1:])
    except ValueError:
        """max() was passed an empty iterable."""
You've not stated what you want to happen when there are multiple items sharing the maximum frequency, or when there are no items in the iterable. For this implementation, I'm assuming that you don't care which item from multiple items gets returned, and I'm assuming that on an empty iterable, you want to raise ValueError (as happens by default by virtue of max()). Cdwn (talk) 04:02, 27 September 2012 (UTC)
Also, if you will always be using hashable objects, you can get a performance increase by converting the iterable to a set prior to passing it to max. Cdwn (talk) 04:21, 27 September 2012 (UTC)
If you are using python 2.7 or later (which you probably should be, if possible), then collections.Counter is very useful for this kind of thing (it assumes the values are hashable). The method collections.Counter.most_common(n) returns the n most common elements and their counts. Also, scipy.stats has a mode function - if you are going to be doing lots of numerical work, it's a good idea to familiarise yourself with numpy and scipy. (talk) 14:49, 28 September 2012 (UTC)


Since installing Mountain Lion on my AppleMac, the Calendar app. does not seem to 'hold' new events/appointments and they are not there when the app is next opened.. Any ideas as to why please? -- (talk) 08:25, 27 September 2012 (UTC)

DLP technology history[edit]

The article about a screen-door effect presents advantages of Digital Light Processing technology and says:

Newer DLP chip designs promise closer spacing of the mirror elements which would reduce this effect

However, it's been said in 2006, and an external link to the info source is obsolete now. Can anybody verify (and support with some reference) if such solution really was considered at the time and if it eventually got to the market?

Please put your answer at Talk:Screen-door effect#How old is 'newer'?.
--CiaPan (talk) 09:44, 27 September 2012 (UTC)

Quantum cloud computing[edit]

Will Quantum computers take over Cloud computing?

The layout would be a big Quantum computer that then runs all of the applications at the same time. It's Hyper-threading with Qubits. The big challenge would be to define the Grid network between all the Virtual machines so they could efficiently share data while they are sharing atoms. Hcobb (talk) 13:24, 27 September 2012 (UTC)

We lack a crystal ball. At the moment, quantum computing is in its infancy and does not look like it will be better than "regular" computers at standard computing tasks anytime soon, perhaps never (the engineering difficulties are big, and the types of problems that quantum computers seem like they will be good at are quite specific). The "big challenge" is to get useful quantum computers at all, at this point. --Mr.98 (talk) 13:40, 27 September 2012 (UTC)
No; quantum computers don't work that way. You might enjoy this article by Scott Aaronson (edit: or this one). -- BenRG (talk) 15:31, 27 September 2012 (UTC)

Extracting information of a pdf file with python[edit]

How can you tell Python to open a pdf and maybe extract the title (within the document) or index or~text page x? OsmanRF34 (talk) 14:54, 27 September 2012 (UTC)

pyPdf will do this. But it's a fairly thin layer over the often ungainly PDF document tree, so actually extracting stuff from the document can be a bit laborious. -- Finlay McWalterTalk 17:11, 27 September 2012 (UTC)

Wait-free allocator for 2 processes[edit]

I'm looking for an implementation or description of a wait-free allocator. It will be used by two concurrent processes, with allocating and freeing happening on both processes. I only need fixed-size blocks. I'm having a hard time finding papers that I don't have to buy, and the only good solution I have found so far is for N processes and variably-sized blocks, so it is much more complicated than I suspect this solution will be. My initial thought is to base it on a wait-free queue, but most information I can find is on single-reader/single-writer or N-reader/N-writer. I'm hoping the 2-process limit will simplify things. (talk) 15:40, 27 September 2012 (UTC)

There is a lot of information on oracle's "no-wait" and "willing-to-wait" latches. These are serialization mechanisms that the CPU uses to control shared (process) access to blocks within oracle's SGA (server memory). I suspect you will find really detailed descriptions on the oracle 7 or 8 mechanism as those were the days when latching and latch contention was more of an issue. Sandman30s (talk) 11:15, 28 September 2012 (UTC)

Computer will not start[edit]

Yesterday, my computer took ages to start up successfully, and when it did, I had to reinstall due to a DLL being lost. Today, it won't start up again, originally with a series of rapid beeps and now with silence. My guess is the HDD is dying (as I had similar symptoms when another HDD died) and I need to reinstall on another HDD, but I wanted to bring it here to see if there's another, less drastic, solution. —Jeremy v^_^v Bori! 16:54, 27 September 2012 (UTC)

You need to understand the beeps; they're imparting information. See Power-on self-test and then track down a manual giving POST diagnostics for your computer's motherboard. (Except for the "now silence" bit, of course. For that you're going to have to figure out what is & isn't powering up, and whether or not you've dislodged a speaker cable. --Tagishsimon (talk) 16:57, 27 September 2012 (UTC)
The beeps are issued by one of two very rudimentary systems which take care of starting up your computer. If only they sound (and there's no text being displayed on the screen) then a very basic thing is wrong with the system - not a corruption in Windows or a bad hard disk. Depending on what the specific beeps mean for your system, as Tagishsimon describes, it's likely to be a defective or unseated CPU or memory module, a disconnected CPU fan, a problem with the power supply (perhaps just its connection to the motherboard, or a failure of the power supply itself), a defect or bad connection in the graphics adatper, or a defect in the motherboard. A PC will boot perfectly fine (to the BIOS screen) even with no disk drives at all attached - so if you're not seeing the BIOS/POST messages on the screen, the problem isn't the disk drive and replacing it won't help. As Tagishsimon says, you need to find out what these specific beeps mean. -- Finlay McWalterTalk 17:08, 27 September 2012 (UTC)
Beeps don't necessarily mean anything serious is wrong -- they could just indicate lack of connectivity to the monitor. But the sequence of symptoms here does indicate something serious -- very serious, if it won't even beep now. Looie496 (talk) 17:18, 27 September 2012 (UTC)
Nothing will print to the screen at this point. (For diagnostic purposes, I use the onboard video as opposed to the PCI card I normally use; that way if something goes wrong I'm not completely screwed), and it will not beep at startup now. (before, it was a series of about 15 beeps in three or four seconds). Googling "SiS 661 POST diagnostic" gives me nothing close to a POST diagnostic for a SiS 661 mainboard. —Jeremy v^_^v Bori! 17:26, 27 September 2012 (UTC)
So. Two directions. 1. Can you tell what is & isn't powering up (e.g. motherboard lights, PSU fan, disk lights, etc) 2. Unplug & replug (and sanity check) any connectors that can be disconnected & reconnected. If you cannot progress further than no beeps & no monitor action, then you're stuck. --Tagishsimon (talk) 17:32, 27 September 2012 (UTC)
Motherboard lights aren't powering up, and I think (but am unsure) that the disk lights are not powering up. I haven't checked the PSU fan. I also checked all the connections; everything is still seated as far as I can tell (the processor being the only question mark since it's too compact in there for me to remove the processor fan). —Jeremy v^_^v Bori! 17:44, 27 September 2012 (UTC)
So, to sum up: there are no signs of life. Concentrate on the PSU. Is there any evidence that it is alive? What does it smell like (burnt components)? Has it pulled a fuse? (You can also do idiot checks: is the electrical socket you're using supplying power; is the power-lead to the computer intact?). --Tagishsimon (talk) 18:27, 27 September 2012 (UTC)
Forgive my lack of expertise, but this sounds like exactly what happened when the power supply on one of my desktops died. Except that for a long time before it did absolutely nothing, it would turn on for a period of about .5 seconds (long enough for the fan to just start up), then it would instantly die. - Purplewowies (talk) 18:37, 27 September 2012 (UTC)
SiS 661 isn't a motherboard model, it's a Northbridge chipset logic model. It's used on motherboards by many manufacturers (Asus, Acer, Lenovo, Gigabyte, etc.). You need to figure out the maker and brand of the motherboard and look that up, because I don't know if all motherboards with that chip will have the same fail codes. This page lets you download the manual for a Gigabyte board with that chipset - if the beep codes are the same, that document has them on p84. -- Finlay McWalterTalk 18:34, 27 September 2012 (UTC)
My rig is manufactured by Cisnet and I think the mainboard is an MSI model. I can't recall which one offhand.
And the computer stays on, fans and all, but there is no signs of life otherwise. I don't smell any burning components, and I have no way to tell if it blew a fuse. I know the socket it's using is supplying power, I have an external HD plugged into a power strip on the same socket and it's turning on normally. That said, the mother end of the plug that goes into the computer is quite loose. —Jeremy v^_^v Bori! 18:56, 27 September 2012 (UTC)
Exactly which fans are on? Only the one within the PSU, or ones on the motherboard? --Tagishsimon (talk) 18:59, 27 September 2012 (UTC)
The motherboard fans. (I haven't checked the PSU and haven't yet had a chance to as I'm not at home atm.) —Jeremy v^_^v Bori! 19:15, 27 September 2012 (UTC)
I have had a chance to doublecheck, and I smell burning components whenever I turn it on. I've sent for a new PSU off of Newegg. —Jeremy v^_^v Bori! 23:39, 27 September 2012 (UTC)
Excellent (or not, as it were). At least you have a path forwards. --Tagishsimon (talk) 23:41, 27 September 2012 (UTC)
Unfortunately, opportunities for burning or melting components aren't limited to the power supply. In particular, the power regulator circuits around the CPU socket carry comparatively hefty currents, and if they fail they're prone to smoking. Look at the large capacitors and toroidal inductors near the CPU (see if some look deformed or scorched) and check that both surfaces of the motherboard, again in the area near the CPU, are free of blackening. -- Finlay McWalterTalk 13:03, 28 September 2012 (UTC)
My CPU has a massive fan over it and there's little light in the room where it is situated. I'd have a hard time finding blackening on the mainboard, but I did notice nothing else (incl. electrical components on the mainboard itself) seemed to be amiss. —Jeremy v^_^v Bori! 18:38, 28 September 2012 (UTC)

Need an Online Reference Map for "Open-Access" Wifi networks listed in Europe, Esp. G.B.[edit]

Hi there, I was just trying to find a website that maps the location of Open Access Wifi Networks in Great Britain (without password). I was listening to Members of the FSF advocating open networks for the public based on ordinary people 'opening-up' their home and business networks to make them available for internet users at large. I am sure that such a map would receive a lot of gratitude-payments for allowing this information to be placed in the public domain. Therefore I was just curious if such a website had taken off as the range of some WiFi_N networks can be up to 100 meters these days. Of course I am sure that there are other efforts to-do this in other countries, so if you are able to specify those websites, it would be much appreciated. --Linuxchatter (talk) 17:28, 27 September 2012 (UTC)

It sounds like you're looking for something like WiGLE. Cdwn (talk) 17:56, 27 September 2012 (UTC)
... or FON. Cdwn (talk) 19:48, 27 September 2012 (UTC)
In many areas of the UK, there is no open WiFi. FON requires a password, obtainable on payment of a fee to BT (unless you are already a BT WiFi customer). The usual advice given in the UK is that WiFi should not be left open because of security risks. Dbfirs 06:58, 28 September 2012 (UTC)
Oh, that's true actually. If you buy your own FON device, you get a username/password. I don't think about it any more as its possible to make it completely transparent. Cdwn (talk) 10:53, 28 September 2012 (UTC)