Wikipedia:Reference desk/Archives/Computing/2010 October 4

From Wikipedia, the free encyclopedia
Computing desk
< October 3 << Sep | October | Nov >> October 5 >
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.


October 4[edit]

Restore iPhone texts and pics without doing a iTunes restore from backup[edit]

How can I restore my text messages and pictures with iTunes without using the restore backup option on iTunes? I don't want to restore everything like my settings and all that. Just my text messages and pictures. I am doing a fresh install of OS 4.1, thats the reason I ask. Thanks 76.169.33.234 (talk)Dave —Preceding undated comment added 02:12, 4 October 2010 (UTC).[reply]

Smartphone as meeting/seminar reminder via Google Calendar?[edit]

I've recently started a PhD where I'm having a lot of meetings and seminars at different times and could do with having my Google Calendar follow me wherever I go, to warn me in advance so that I don't miss things. I don't want to pay more than I need to, so ideally the phone (or some alternative but small device) could synchronise with Google Calendar via Internet-connected PCs (my desktop at home as well as my laptop and my desktop at work) via bluetooth or something similar and then beep a couple of times 15 minutes before a meeting is due to begin. What would be a good option for this? I don't think I'd use all the features of top-end models of phone. I'm happy to pick up e-mail etc. for free when I'm at a computer. Can you guys suggest anything? Thanks. --129.215.5.255 (talk) 09:27, 4 October 2010 (UTC)[reply]

Any expensive phone is likely to do this out of the box (at least my iPhone does). For cheaper phones, have a look at gcalsync; it is a small program that can be run on most Java-supporting phones (there is a list of supported phones on that link). Haven't tried it but I know others who have. I don't think it supports Bluetooth, though, and a simple phone is not likely to be able to connect to wireless networks. Still, paying a couple cents each time you sync through packet data (that is, the cellphone network) is probably still the cheapest option. Your other option is to get your home calendar (for example Outlook) to sync with Google calendar (not trivial when I tried some years ago, but I think I managed to get it to work) and then get your phone to sync with Outlook (usually trivial using software that comes with the phone). Googling will give you some suggestions for solutions. Jørgen (talk) 06:54, 5 October 2010 (UTC)[reply]

Excel - add years to a date[edit]

How do I add years to a date in Excel? I have a column of dates, and in the next column I need the date 5 years after them. e.g. In the first column I have 01/02/2003, and in the next I need 01/02/2008. Thanks. DuncanHill (talk) 11:45, 4 October 2010 (UTC)[reply]

User YEAR, MONTH and DAY to extract year, month and day number from original date, add 5 to the year number, then use DATE to convert new year, month and day back to an Excel date value. So, if your original date is in cell A1, then your formula is:
=DATE(YEAR(A1)+5, MONTH(A1), DAY(A1))
Gandalf61 (talk) 11:57, 4 October 2010 (UTC)[reply]
Splendid, many thanks! DuncanHill (talk) 12:06, 4 October 2010 (UTC)[reply]

I suspect Gandalf61's solution would suit you fine in most cases, but consider what you want your answer to be when adding 5 years to the 29th of February in a leap year, 2004, for example. In the table, x is Gandalf61's method, and y is mine.

Date x y
28 February 2004 28 February 2009 26 February 2009
29 February 2004 01 March 2009 27 February 2009
01 March 2004 01 March 2009 28 February 2009

The formula for y is:

=DATE(YEAR(A1), MONTH(A1), DAY(A1)+(365*5))

I think what's happening here is that method x is averaging over the leap days, therefore you lose 2 days (one in 2004 and one in 2008). I work in pensions and this sort of thing is very material when calculating service (and therefore, cold hard cash!) and it's exactly the sort of thing we get queried on by eagle-eyed pension payers! --Rixxin (talk) 20:49, 6 October 2010 (UTC)[reply]

Spam replies[edit]

I get about 25 pieces of spam everyday. A large portion is Viagra, increase your dick size pills and Canadian/Mexican pharmacy stuff and assorted other crap. So I have started a policy. Every day I take 15 minutes out to send an email to each and every spammer with the message "fuck you spammer" in it (but about 500 of this phrase over and over in the body). Two questions. First, am I completely wasting my time or am I actually bothering them, or are they just bots? (bothering them back is the point). Second, is it possible this will actually work to get some of them to stop? Note that none of these are legit emails with any link in them or a website you can go to to ask them to remove you from their spamlist.

Another related thing. Is there anything else I can do to stop receiving this spam? Note that I do have my spam filter on and I use mail.yahoo.com. Thanks.--108.27.106.173 (talk) 13:48, 4 October 2010 (UTC)[reply]

It's worse than wasting your time; you're potentially sending emails to entirely innocent people. I get about 15000 spams a day over several domains, and they all have forged "from:" addresses; about 20% claim to be from my own domains, and about 5% claim to be from me. So mailing these is pointless. I occasionally get mails from someone who got a spam which had a forged email address appearing to be from my email address, and once a threatening phone call; I've twice had to call the police on people. Clicking on those "please remove me" things is useless too (for real spams, rather than promotional emails from companies you've actually done business with), as it confirms they've got through to a real person. Professional spammers don't care that you don't like their email, and nothing will make them stop. Reading your emails through a client with a decent spam filter of its own, like Thunderbird, will help. -- Finlay McWalterTalk 14:04, 4 October 2010 (UTC)[reply]
(e/c) Replying back to spam is a very bad idea. The messages are sent by a bot or even a virus-infected computer of some unsuspecting fellow. The messages usually have a forged "From" address field, which means you will be replying to somebody who did not send the message anyway. And if your reply gets back to the spammer, it only proves to them that your email address is valid, and therefore they will send you more spam.—Emil J. 14:07, 4 October 2010 (UTC)[reply]
Thank you for the information. I am holding my head now. Egad. It's so infuriating. They need to do something about this. Who exactly "they" is I don't know. There has to be a way that all the smart people out there can work together to stop this. I mean, half the messages I receive actually have "viagra" in the subject line. There has to be a way to stop these in transit. Anyway, following your responses I guess I'll abandon my "project". By the way, I'm not dumb enough to have opened all these emails from my home PC. I've only done this from a work MAC.--108.27.109.167 (talk) 18:32, 4 October 2010 (UTC)[reply]
Oh, "they" have plenty of solutions, but "they" want money from you for doing them, or want to be able to exempt themselves and their partners from the solution. The tragic truth is that, while only a tiny proportion of people buy stuff from the spammers, it's still enough for it to be worth their while. -- Finlay McWalterTalk 18:51, 4 October 2010 (UTC)[reply]
Stopping spam in transit is problematic, because it means that everyone has to share a universal definition of "spamminess". But Bayesian spam filtering can be very effective -- it essentially works by observing, for each word in the email, how many times it's been used before in spam and how many times it's been used in legitimate email. One side-effect of it was that spammers were attempting elaborate circumlocutions (or bizarre spellings) to avoid using spammy words; if they are literally using the word "viagra" (without resorting to spelling trickery), it suggests that the spammers have given up (it wasn't a very effective tactic), and are focusing their efforts entirely on recipients who don't have access to email clients with Bayesian filtering. This is a fascinating development, if so. Paul (Stansifer) 20:42, 4 October 2010 (UTC)[reply]

Mystery unconnectability[edit]

I'm running a computer with Windows 7 Ultimate x64, and Windows XP Professional x64 on another partition. A particular problem has been bugging me since I built it a few months ago, namely that whatever I do, I can never open a port. There are two other PCs on this network running exactly the same with no issue - same operating systems, same method of forwarding ports, same everything, making this all the more confusing. I've tried it on different ethernet ports too, with different cables, and through different modems and routers (but not in a different house, however we have switched ISPs during this time).

I've forwarded a port for utorrent in the router, as per instructions and exactly how it's done for the other computers (obviously not the same port, but just to clarify I've not missed that). canyouseeme, utorrent, deluge, azureus and the torrent sites I am a member of confirmed every time that the port is not in fact open, so the first variable I tested was my IP address and the port I was using. Everything else I changed, I tried with different combinations of these just to check.

I added exceptions to my firewall (Comodo) for all the torrent programs I tried, which changed nothing. Windows firewall is totally disabled, and disabling Comodo didn't solve the problem. I tried using DMZ on the router (sorry if that's incorrect terminology, I have a vague grasp on this but I'm not sure of the specifics) with the firewall disabled, which STILL didn't work. Everything was still telling me that the port was closed, or I was behind a firewall. It's the same in XP and 7.

Bizarrely, utorrent and Deluge now give me the happy little green symbol, and torrent sites tell me I am connectable - however, Deluge tells me there are no incoming connections, and canyouseeme still tells me the port is closed. I can torrent from seeds, but seeding myself is impossible. I don't often play online games so that's not much of an issue, but it's still frustrating and totally nonsensical (as far as I can tell).

Any ideas what the hell is going on? —Preceding unsigned comment added by 194.83.69.19 (talk) 14:38, 4 October 2010 (UTC)[reply]

Your router tries to solve the problem what you have only one ip address visible from the internet (assigned to you by your ISP), but have several actual computers which want to connect to the internet. When someone connects to the ip address given by the ISP on a given port, the router needs to know which of the computers to forward the connection to.
First off, you probably just want to enable UPnP. This is the easy option, and may just work. Get each computer to listen on different port – if you both try and listen on the same port, the router won't know which computer to forward stuff too (actually all but one will get to listen on a random port number instead of the one you asked for).
Failing that, this is the way to open a port on my (netgear) router:
  1. Go to router settings page by going to 192.168.0.1. This may also be different for you, it's normally printed on the router itself.
  2. Each time you re-connect your computer to the router, it will give you a new ip address from the private address space (these ip addresses only work inside the local network). You want to permanently associate an ip address to the MAC address of your computer's network card. On my router, I use "Address reservation" under "LAN Setup" to do this.
  3. When someone asks to connect to a specific port on your router, most routers don't reply. You need to instruct the router to forward connections from the internet to your ip address on the local network (the ip address from the private address space you set to be a single value in the previous step). Set your router's firewall to forward connections to the port you're interested in to your ip address on the local network. On my router, I need to add a "service" to give a name for the port I want to open, then add a firewall rule to the "inbound services" chain, as described here.
  4. Now check it works by trying to connect to the port you opened from a computer on the internet (not a computer on the local network). Success would be the same response that someone else on your local network gets (what response this is will depend on your computer's firewall). As a Linux user, I used netcat for this; no idea what how to do it on Windows.
Btw, I'm not sure what the DMZ setting does – a DMZ is a semi-public area between an internal and external router. It may be for setting the location of the internal router. You don't want this. --h2g2bob (talk) 23:49, 4 October 2010 (UTC)[reply]
This is what I've done; I have a static IP address and all the computers on the network have different ports forwarded. This is why I don't understand why it isn't working, because the exact same procedure works for the others but not for me. I will be moving tomorrow however, so I'll be able to see if it happens in a different house entirely.
I'm not entirely sure on the DMZ setting either, but googling the issue and looking through FAQs led me to believe that it effectively opens all the ports to that internal IP address, so while it should in general be turned off, it can be used to diagnose problems... however since it didn't work even then, I don't know what to make of it. 194.83.69.19 (talk) 10:15, 5 October 2010 (UTC)[reply]
For clarity you have the same firewall on the PCs without the problem? Are you sure you've assigned the static IP address correctly? For example can you ping the IP from some other computer in the LAN? What's the network card in the computer where it doesn't work? Have you tried turning off one of the computers where you have port forwarding working and changing the IP on the computer where it doesn't work to the IP of the one you turned off and seeing if it works? (You may need to restart your router in case it gets confused/thinks theres a collision.) BTW this seems somewhat unlikely if you are having the same problem on different OSes but not on different PCs with the same firewall but who knows. Have you tried uninstalling the firewall? From my experience firewalls have the nasty habit of still causing problems even when disabled. Zonealarm was notorious for this but I had it with at least one other one, can't remember what but it could have been Comodo. On the DMZ issue, see DMZ (computing)#DMZ host for what this means on cheap routers. Nil Einne (talk) 13:11, 5 October 2010 (UTC)[reply]
Yes, all of them are running Comodo. I have not tried pinging the IP from another computer on the network but that is something to try, I am fairly certain it is set up correctly but yeah. The idea of changing the IP to that of a working computer is also something I will try. I have moved now as I mentioned, but I expect I'll get the chance to test these things out (I'm not sure it's worth it where I am, since I'm on a shared network using a BT homehub (ugh)). I will try uninstalling the firewall as well, I wouldn't be surprised if it was simply being sneaky and 'helpful'. Thanks for the suggestions!194.83.69.19 (talk) 09:17, 7 October 2010 (UTC)[reply]

How do I create virtual tours like this one ?[edit]

Hi, is there any free tool available to create something like http://www.mysorepalace.tv/360_Eng/index.html ? I suppose that it is made using some kind of photo-stitching software (or could it be using a video camera ?). Assuming that I have a camera (SLR or video), is there a way to create this on my own for free ? - WikiCheng | Talk 15:14, 4 October 2010 (UTC)[reply]

I believe VR photography is what you're looking for. QuickTime VR was the first example of this tech that I'm aware of. Comet Tuttle (talk) 16:30, 4 October 2010 (UTC)[reply]

Thank you ! - WikiCheng | Talk 16:50, 5 October 2010 (UTC)[reply]

bin vs iso[edit]

Resolved

For making a disk image from a cd or dvd, which is the better format to go for? 82.44.55.25 (talk) 15:18, 4 October 2010 (UTC)[reply]

From my experience, iso is supported more than bin. So, I would use iso. -- kainaw 15:27, 4 October 2010 (UTC)[reply]
Is there any difference between the two formats in terms of how accurately they save the disk contents? I read a while ago that iso isn't an exact copy and can't handle lots of sectors, but I can't seem to find where I read that to verify. 82.44.55.25 (talk) 15:32, 4 October 2010 (UTC)[reply]
The bin format handles multi-track and copy protection better. If you have a multi-track or copy protected disk that you are trying to copy and iso fails, you should use bin. For normal disks, iso works fine. -- kainaw 16:17, 4 October 2010 (UTC)[reply]
Ok, thanks :) 82.44.55.25 (talk) 17:18, 4 October 2010 (UTC)[reply]

Battery not detected in ancient MacBook[edit]

My MacBook (using Windows Vista) has been showing a nice "Battery not detected" warning for the past few days, and resetting the SMC (whatever that is) hasn't helped (did a Google search and found SMC-resetting options). Any ideas on what might do the trick and make my battery get detected?? Thanks in advance. 115.184.97.157 (talk) 15:44, 4 October 2010 (UTC)[reply]

Try it with another battery? That'll at least tell you if it is a problem with the battery and not the machine. I suspect it's the battery — they only have a limited life. If you can take it to an Apple store, they can take a look at that for you. --Mr.98 (talk) 18:10, 4 October 2010 (UTC)[reply]
Sometimes the battery gets 'unseated' (for want of a better term) and fails to be detected by the computer. Turn the machine off, take the battery out (while it's out it could be worth checking that the contacts are clean), then firmly reinsert it, and turn the machine back on. This may be an outside chance, but it has worked for me a number of times when I've come across similar problems. Even if the battery is nearing the end of its life it's unusual for the machine not to recognise its existence, nor give you a warning before it's completely stuffed. --jjron (talk) 08:11, 5 October 2010 (UTC)[reply]

Sudo security[edit]

I understand that giving sudo access to anything with a shell or a modifiable script is a security problem, but is there a risk if I enable access to a specific script that's not modifiable. For instance, if I have a script that reads a line from a 400 permissioned file, and that script is modifiable only by root (755 permissions), is there a security risk with that? I realize if the script itself allows for some user input there could be an issue, but assuming the script itself is fine, can anyone think of security issues with this setup? Shadowjams (talk) 20:04, 4 October 2010 (UTC)[reply]

I'm confused. Super-User has access to everything on the system - so any user who has permission to run sudo has (effectively) permission to run or access or modify any program, irrespective of file-permissions. "Sudo" does not have any other configurable access rights - it has permission to anything. Maybe I am misunderstanding your explanation? How exactly are you "denying" sudo access to any file? Nimur (talk) 20:20, 4 October 2010 (UTC)[reply]
See /etc/sudoers. The idea is to restrict what commands can be run as root (by a particular user). Of course, in this case one could just use setuid (and then check the real uid against an access list if needed) if the kernel in question does it properly for shell scripts. --Tardis (talk) 20:25, 4 October 2010 (UTC)[reply]
Sudo does have configurable access rights through the sudoers file (as Tardis points out). Sorry, I should have been clearer that I was hoping to restrict non-privileged users to a small set of programs/commands. I'm curious about the security risks of that. Shadowjams (talk) 20:29, 4 October 2010 (UTC)[reply]
It's better than nothing, but you still really need to think through what a malicious abuser of one of those sudo commands can do. Can they create a suid-root executable (or set an existing root executable suid)? Can they insert an executable, or a link to one, or a symlink, into a directory that's on root's path, and so get root to run that inadvertently (and ditto for other privileged accounts that run servers). Can they manipulate device files, mount points, or temporary files in a way that could let them gain full root (or persuade genuine root processes to do something unexpected)? Can someone abuse the dynamic loading mechanism, or the tracing mechanism, to persuade the sudoed executable to load code the abuser generated? And do any of the programs that the sudoers can run, or any subprogram, shell out? - all kinds of things like mail clients and text editors will let you. sudo is better than su, but there's a lot to consider. -- Finlay McWalterTalk 21:25, 4 October 2010 (UTC)[reply]
Incidentally I think sudo does take care of some of this (no time for research: cooking), in particular I hope it doesn't use the user's LD_LIBRARY_PATH or allow a user process to ptrace into sudo (surely the kernel will prevent that). -- Finlay McWalterTalk 21:48, 4 October 2010 (UTC)[reply]
The most important thing is to make sure that all commands in the script are specified by absolute paths, so that the user can't substitute a "trojan" for any command in your script. That's not by any means the only risk, but it is the most obvious one. Looie496 (talk) 23:15, 4 October 2010 (UTC)[reply]
In general setuid scripts (and programs in general) have been a rich source of security holes, so yes. This page covers some of the angles. --Sean 16:19, 5 October 2010 (UTC)[reply]
Writing a simple suid'd binary in C that starts the script would probably be the safer bet than messing with sudo or suid scripts. Something like:

#include <stdlib.h>

int main (int argc, const char * argv[])
{
  int errCheck = system("/bin/sh /path/to/myscript.sh");
  if (errCheck == -1 || errCheck == 127) {
    /* means the fork or the shell failed somehow, do something about the error here */
  }
  return errCheck;
}

Better yet would be to port the script to C as a stand alone program. Horselover Frost (talk · edits) 06:54, 6 October 2010 (UTC)[reply]
In general, never ever call system(3), and especially not under setuid (as the man page says). Use the exec(3) family (probably execl() for this case; not exec*p()) instead. (system() returns a wait status anyway, so you'd need to use WEXITSTATUS() and friends to analyze the return value.) --Tardis (talk) 14:06, 6 October 2010 (UTC)[reply]
I was using the BSD man pages (I'm on OS X), which are a bit different. Thanks for the info though. Horselover Frost (talk · edits) 20:54, 6 October 2010 (UTC)[reply]

Photo Editing[edit]

So I have some photos that I took of the night sky, with moderate exposure lengths (10-15 s). My camera isn't terribly good, and there's a lot of noise in the photos (example). I can visually tell what's a star and what's noise (at least for the bright stars), but would there be any way to tell some photo editing software to treat everything below a certain threshold as black, thus eliminating most noise, plus some of the dimmest stars? I realize that this wouldn't necessarily give me an accurate representation of how the sky looked exactly, but it would make it much easier to identify individual stars with a star chart. Buddy431 (talk) 21:55, 4 October 2010 (UTC)[reply]

I believe that both Photoshop and The Gimp have an actual feature called "threshold" that might be what you're looking for, but is probably too extreme. Probably what you want to do is to bring up the "Levels" dialog in either of those programs, and drag the "black" slider (On the far left of the histogram) a little bit to the right. APL (talk) 22:34, 4 October 2010 (UTC)[reply]
And if you want to be very fancy, astrophysical image processing software exists. Ideally what you want to do is perform image registration against a known star chart, and then use a numerical optimization scheme to determine a "best fit" between your stars and known stars. Then, a series of estimation algorithms can attempt to determine whether a particular "speckle" is a true object or a noise. Stacking multiple images of the same area of sky is a good way to coherently add stars and incoherently attenuate random thermal noise (electronic sensor noise, usually - but the occasional cosmic ray striking your camera sensor will register as a blip too!) Nimur (talk) 23:11, 4 October 2010 (UTC)[reply]
Thanks. The "levels" thing in GIMP worked pretty well. I also appreciate the information about dedicated astrophotography image processing software, though I am not in a situation where I would use such a thing. Incidentally, what exactly am I doing when I adjust the "levels" slider in GIMP? Buddy431 (talk) 03:28, 5 October 2010 (UTC)[reply]
You are transforming the brightness values according to a curve whose shape you are adjusting. Gimp has a similar tool called Curves that would also probably have solved your problem, and is a bit easier to understand because you can actually see the transformation you are creating, but it's a little harder to use than Levels. The documentation for the Levels tool is here, but unfortunately it isn't very easy to make sense of. Looie496 (talk) 04:00, 5 October 2010 (UTC)[reply]
The Histogram represents the current distribution of brightness values in the image. You're asking the program to redistribute those values so that everything to the left of the black slider goes to pure black, everything to the right of the white slider goes to pure white, and the values in the middle are "stretched" to fill the whole gamut from white to black. (You can also move the mid-point slider to effect how the values are "stretched".)
Like Looie496 says, the Curves tool does the same thing, and it does it in a way that makes the math easier to understand, but (in my opinion) is virtually impossible to use. APL (talk) 15:07, 5 October 2010 (UTC)[reply]

IPv5[edit]

I know that there is IPv4 and IPv6, but what happened to IPv5? Why did they skip from v4 to v6? Feinoha Talk, My master 23:34, 4 October 2010 (UTC)[reply]

From our IPv6 article - "The IETF assigned version 6 for the new protocol as a successor to version 4, because version 5 had previously been assigned to an experimental protocol, the Internet Stream Protocol, similar to IPv4, intended to support video and audio." --LarryMac | Talk 23:44, 4 October 2010 (UTC)[reply]
(ec) - Our article has a section on version history: "Version numbers 0 through 3 were development versions of IPv4 used between 1977 and 1979. Version number 5 was used by the Internet Stream Protocol, an experimental streaming protocol." Nimur (talk) 23:44, 4 October 2010 (UTC)[reply]