Jump to content

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

From Wikipedia, the free encyclopedia
Computing desk
< October 19 << Sep | October | Nov >> October 21 >
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 20

[edit]

Locking down a computer (in terms of anti-virus security)

[edit]

Hello,

I'm attempting to help a relative who knows very little about computers configure their machine so that it's protected against viruses to the maximum reasonable extent possible (they've had multiple issues with viruses and, unfortunately, behaviour-based protection - i.e. don't open dubious e-mails and be careful about what sites you visit - probably won't work for a number of reasons I can't do anything about). For a starting point, I was planning to install Firefox (which is close enough to IE for them and their kids to be able to use it) with the Adblock Plus and NoScript addons and make it the default browser on the computer. However, I'd also like to add some sort of real-time virus protection (preferably something free) and I was wondering if there are any "best bets" as far as this is concerned. Some sort of internet parental control software might also be beneficial.

If anyone has any suggestions or comments regarding this, I'd appreciate them.

Thanks!

Hiram J. Hackenbacker (talk) 01:39, 20 October 2010 (UTC)[reply]

In Windows 7 there is parental controls I believe under Windows Live. FOr antivirus, you can have Avria. Basic protection, no realtime protection. For realtime you could try using Spybot SD., but my experience suggests that it is too technical for ome people.Sir Stupidity (talk) 02:09, 20 October 2010 (UTC)[reply]
This is the sort of situation in which I'd think about switching them to Linux, depending on what they use their computer for. Another product that you might want to look at is Sandboxie. -- BenRG (talk) 07:00, 20 October 2010 (UTC)[reply]
I doubt they could find their way around a Linux box - remember from the question that the relative doesn't know a whole lot about computers. —Jeremy (v^_^v PC/SP is a show-trial!) 07:13, 20 October 2010 (UTC)[reply]
Well, it depends. Some people never use their computers for anything but web browsing and email, and those people would barely notice the difference, especially if they were using Firefox and Thunderbird under Windows anyway. -- BenRG (talk) 07:23, 20 October 2010 (UTC)[reply]
The simplest solution would be to make them a regular user -- not an administrator. In Windows XP, you go to Start --> Control Panel --> User Accounts --> Change an account --> Change my account type. Before doing that, create another account that is an administrator that they can log into to install programs. The link to create an account is inside "User Accounts," too. Since only administrators are allowed to install programs, they won't be able to install any virii, either. Easier than installing Linux, huh? I did this for my friend. She uses Windows XP. Her kids kept infecting her computer with virii, so I limited her main account, and she hasn't gotten a virus since. That was a few years ago! I should mention that it's theoretically still possible to get a virus, even as a limited user. But this technique will stop the vast majority of them. And even if one gets through, it won't be able to cause much damage.--Best Dog Ever (talk) 07:30, 20 October 2010 (UTC)[reply]
That also applies to Windows 7. And if you do have Windows 7, maybe you should up the UAC level. Sir Stupidity (talk) 07:42, 20 October 2010 (UTC)[reply]
For realtime virus protection, I'd go with Microsoft Security Essentials. It tends to stay out of the way of the user and warnings are very clear. It's also free. As for the UAC level, I'd recommend putting it at the minimum so the user actually looks at the dialogs instead of clicking through when too many warnings pop up. Without being close by to do real tech support, completely locking down a computer tends to be somewhat counterproductive in my experience. Occasional warnings will be looked at and read, but when false positives are popping up all the time, the user will simply stop reading them and click through. 206.131.39.6 (talk) 15:34, 20 October 2010 (UTC)[reply]
I heartily recommend Best Dog Ever's suggestion. Non-admin accounts do a lot to limit malware. Comet Tuttle (talk) 16:15, 20 October 2010 (UTC)[reply]
I don't see why you get UAC all the time if you aren't a technical user. Note that if you are able to run fine in a non admin account, there's really no reason why UAC should be a problem. Nil Einne (talk) 20:57, 20 October 2010 (UTC)[reply]
I'll look into Spybot S&D; perhaps I can explain the fundamentals of its operation to my relative, as I think they could really benefit from real-time protection. The Linux suggestion is interesting, but I think in this case Linux (even one of the more Windows-like distros) might be too different from Windows for them. However, I like the suggestion about making the main account a regular user account; this hadn't even occurred to me and it's a good idea. Thanks for the suggestions, everyone! Hiram J. Hackenbacker (talk) 21:46, 21 October 2010 (UTC)[reply]

VoIP

[edit]

1. What is the main advantage of VoIP over PSTN telephony for users and service providers?
2. How is a packetised network different to a circuit switched network?
3. What equipment and software is required for users of VoIP?
4. Why do telephone numbers have to be matched to IP addresses, and how is this achieved?
5. What are three problems that can affect the quality of service to a VoIP call
6. What is the limitation of VoIP regarding emergency numbers?

–-115.178.29.142 (talk) 01:58, 20 October 2010 (UTC)[reply]

Please do your own homework.
Welcome to Wikipedia. Your question appears to be a homework question. I apologize if this is a misinterpretation, but it is our aim here not to do people's homework for them, but to merely aid them in doing it themselves. Letting someone else do your homework does not help you learn nearly as much as doing it yourself. Please attempt to solve the problem or answer the question yourself first. If you need help with a specific part of your homework, feel free to tell us where you are stuck and ask for help. If you need help grasping the concept of a problem, by all means let us know. --Tagishsimon (talk) 02:10, 20 October 2010 (UTC)[reply]
But see also VoIP, PSTN, Circuit switching, packet switched network, quality of service --Tagishsimon (talk) 02:12, 20 October 2010 (UTC)[reply]

Alternative CSS scripts printing useless rubbish from a webpage?

[edit]

If you go to this page and obtain a print-preview or otherwise copy and paste the page, additional fields appear which aren't visible on the page. I suppose this is to do with alternative CSS. Is there a simple way to print what appears on the screen (other than printing screenshots)? ----Seans Potato Business 08:46, 20 October 2010 (UTC)[reply]

[1] is probably a better link since I suspect quite a lot of people here don't belong to the Edinburgh university so can't use their EZproxy facility (it also isn't necessary in this case since the site isn't subscriber only) Nil Einne (talk) 10:28, 20 October 2010 (UTC)[reply]
One (rather long-winded and not-very-scalable) way would be to save the page locally (as "webpage, complete") and then edit the resulting HTML. The text that appears on printing has class="hidden", so 'hidden' is presumably defined differently in a stylesheet for print and display. You could just edit/replace class="hidden" to style="display:none". Alternatively it might be possible to use Firebug (web development) or similar tools to override the CSS settings. AndrewWTaylor (talk) 12:03, 20 October 2010 (UTC)[reply]

Downloading contents of a vBulletin Chatbox

[edit]

Hello there,

I frequent a site where a lot of entertaining discussion goes on in a chatbox, which, however, is emptied every month or so. I was wondering if there is a way to download the contents of a chatbox in a non-manual way? The archive is basically [whateversite].com/misc.php?do=ccarc&page=y, with y being the archive page number, and the page numbers going up to 1900. I thought perhaps a site downloader might be able to do this sort of thing, but Im unsure on how to use one without it downloading the whole site, which would take weeks and weeks.

All the best,

--178.99.46.121 (talk) 10:45, 20 October 2010 (UTC)[reply]

With httrack you could specify to exclude all links except ones containing "*[whateversite].com/misc.php?do=ccarc&page=*" in the filter settings. It would then only download those pages and ignore everything else. 82.44.55.25 (talk) 11:05, 20 October 2010 (UTC)[reply]

Content filter algorithms

[edit]

Is it possible to find out the type of algorithms used by the content filters that are available to buy like Net Nanny or do the companies not allow you to see such things? Mo ainm~Talk 12:48, 20 October 2010 (UTC)[reply]

They use pattern matching (see regular expressions). They have lists that decide what is blocked (or allowed). You can download prefab lists from the company website or build your own. -- kainaw 13:22, 20 October 2010 (UTC)[reply]

Const pointer conversions

[edit]

We know why int** can't be converted to const int**:

int *p;
const int ans=42,**qa;
qa=&p;    /* not allowed */
*qa=&ans; /* because this makes p point to a const int */
*p=0;     /* which we could then modify */

But why can't int** (or int*const*) be converted to const int*const*, since the target pointer could not then be redirected to a const int?

The practical reason for asking: I have a function that reads an Iliffe vector (which point is not negotiable).

int sum(const int *const *a) { /* or const int *const a[KNOWN] */
  int i,j,ret=0;
  for(i=0;i<KNOWN;++i)
    for(j=0;j<2*i+1;++j) ret+=a[i][j];
  return ret;
}

But I can't call it (without a warning or cast):

#define KNOWN 3
int flat[]={0,1,2,3,5,8,13,21,34},*const iv[]={flat,flat+1,flat+4};
++iv[0][0];
return sum(iv); /* warning: passing argument 1 of ‘sum’ from incompatible pointer type */

Since we want to modify the array in the function that owns it, we can't declare const int *const iv[]. What's the proper way to handle this? --Tardis (talk) 14:59, 20 October 2010 (UTC)[reply]

Generally these conversions aren't allowed because types like int * and int const * aren't required to have the same low-level representation. It's not even required that sizeof(int *) == sizeof(int const *), as far as I can tell. Just as it's safe to convert from int to double but not from int const * to double const *, so it's safe to const-qualify a pointer but not to const-qualify "underneath a pointer".
I don't know what to advise regarding your arrays. It is irritating, and I've had this problem myself. If you could switch to C++, a template function with an argument type of T* const* would solve your problem (with the added benefit of being able to sum over other element types). -- BenRG (talk) 19:51, 20 October 2010 (UTC)[reply]
C99 says that "pointers to qualified or unqualified versions of compatible types shall have the same representation and alignment requirements", so I take it that const int* and int* must be interconvertible in that sense. It also says that conversions may add a qualifier to the type from which a pointer type is derived, and that "the values stored in the original and converted pointers shall compare equal", but I don't think these help any. As for C++, I want to promise callers that sum() doesn't change the pointers or the values, and templating that way would only promise "sum() won't change the pointers, and won't change the values if you already can't". Better than just leaving the const out forever, of course, but it doesn't really solve the problem. --Tardis (talk) 21:01, 20 October 2010 (UTC)[reply]
I shouldn't have sounded so sure because I'm not, but it's my impression that the standard is meant to allow const int * to have more values than int *. For example, an 8086 implementation could put writable and unwritable objects in different segments and make int * a near pointer and const int * a far pointer (not that I've ever heard of an implementation that did that). The first passage you quoted is ambiguous; it says that the types can be qualified, but not necessarily that they can have different qualifiers (compare "pointers to integer or floating-point types that are compatible shall have the same representation and alignment requirements"). There are passages that might imply that converting from const int * to int * and back must yield the original value, but it's never completely clear (to me, anyway). Maybe declspec knows. I agree that my template solution mostly just sweeps the problem under the rug. -- BenRG (talk) 00:40, 21 October 2010 (UTC)[reply]
g++ and Comeau C++, at least, accept the above code without complaint. --Sean 15:36, 21 October 2010 (UTC)[reply]
I see that too with g++; apparently this overall issue is something that C++ gets "right" and C doesn't. It certainly makes sense that you should be able to add as many consts as you like so long as they are "all on the right". --Tardis (talk) 20:41, 21 October 2010 (UTC)[reply]

E-mailing newspaper articles

[edit]

If I use a newspaper website button for e-mailing an article to a friend, does the newspaper keep a record of my e-mail address or the address of my friend?
Wavelength (talk) 22:23, 20 October 2010 (UTC)[reply]

Probably. Each newspaper is different and has different policies, so you would have to check the newspaper's Terms of Service or Terms of Use page to find out whether they discuss this issue. Comet Tuttle (talk) 22:28, 20 October 2010 (UTC)[reply]
I don't understand the need to use such buttons. You can email the URL to your friend. Sometimes it may be necessary to strip off personally-identifiable data, or session-IDs, or other items appended to the URL. When sending a URL, I strip it to as small as possible, then I always check the "cleaned" version to make sure it works before mailing it. Nimur (talk) 23:33, 20 October 2010 (UTC)[reply]