Wikipedia:Reference desk/Archives/Computing/2008 January 29

Computing desk
< January 28 << Dec | January | Feb >> January 30 >
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.


January 29

edit

Google Talk compatible program on Mac

edit

What program can I use to Voice chat with Google talk users? I am on Mac OS X 10.4. Kushalt 00:05, 29 January 2008 (UTC)[reply]

Google Google? --24.147.69.31 (talk) 00:40, 29 January 2008 (UTC)[reply]
What are you kidding? Use Pidgin :D\=< (talk) 03:46, 29 January 2008 (UTC)[reply]

Can I use it for voice chat? I tried it but was unable to ... Kushalt 01:52, 29 January 2008 (UTC)ß[reply]

Froth, Pidgin recommends that Mac OS X users use Adium instead[Citation needed]. Neither Pidgin nor Adium seem to support VoIP (in main program or via plug-ins). I have a macbook and I want to talk with people who are on MS Windows XPpro. Since Google is using open standards[Citation needed] in Google talk, I am interested in supporting it.

Do you use VoIP between Windows XP and Mac OS X? If you use any software other than Skype please let me know. Thank you. Kushalt 04:40, 29 January 2008 (UTC)[reply]

PS: I do have Adium installed and I like it very much. However, I was looking for a program for Voice Chat.

Oh adium right. Well I use google talk in windows (voice chat supported) and pidgin in linux (no voice chat). Google Talk's voice chat is not a real part of jabber, it's just something Google made up. The Jabbin project (link if that other one is red) seems to be able to work with google's libjingle. The mac version is "in development," though I'm sure you can get a nightly or something. --:D\=< (talk) 09:48, 29 January 2008 (UTC)[reply]
If I remember correctly, Jingle is already a part of Jabber (or at least is going to be). --grawity talk / PGP 14:40, 29 January 2008 (UTC)[reply]
Well whatever, point is you need google talk or jabbin to use it :D\=< (talk) 22:48, 29 January 2008 (UTC)[reply]

Telepathy_(software) looks promising. Any ideas? Kushalt 21:42, 29 January 2008 (UTC)[reply]

Another is Decibel_(KDE). I hope KDE decides to make Kopete a cross platform application. Kushalt 23:43, 29 January 2008 (UTC)[reply]

Any ideas on when a mac OS X version of VoIP capable Kopete will be available? Kushalt 06:33, 30 January 2008 (UTC)[reply]

Web proxy that will support flash?

edit

Anyone know of a web based proxy that would support flash, etc? I want to be able to watch video restricted outside of original broadcast country. Thanks! —Preceding unsigned comment added by Onionbubs (talkcontribs) 05:28, 29 January 2008 (UTC)[reply]

Most web proxies should do it automatically, but your main problem is going to be bandwidth.. watching video is a spectacular waste of bandwidth and a lot of proxies probably cap you at some point --:D\=< (talk) 09:50, 29 January 2008 (UTC)[reply]
Tor-Proxy.net appears to support flash, however, as with most of the tor network, its very slow. Think outside the box 13:52, 29 January 2008 (UTC)[reply]

Typedefs in a hurry

edit

Given this C++ snippet:

#include<vector>
template<class T> void foo(std::vector<T> &a,std::vector<T> &b) {
  typedef std::vector<T> v;
  v vec(a);
}

is there any way to avoid spelling out the templated type name of the arguments? I can, as demonstrated, avoid using the long type name more than once inside the function. But what I want is something like

#include<vector>
template<class T> {
  typedef std::vector<T> v;
  void foo(v &a,v &b) {
    v vec(a);
  }
}

which just doesn't work at all. (At this point, it sounds like I want the fabled template typedefs that may be added to the language soon, and I know how to fake those. But what I want can be done for a single function — at least, for uses within the function's block — so I maintain hope that some declaratory trick might let me have the typedef in effect when the function's arguments are declared.) --Tardis (talk) 18:59, 29 January 2008 (UTC)[reply]

And I guess you don't want to use a #define for that? Awful, yes, but would work. -- ReyBrujo (talk) 19:15, 29 January 2008 (UTC)[reply]

secure pseudorandom number generation

edit

Prof just blew through a completely BS answer to my question.. anyone have any insights?

I know that the DH key exchange depends on 2 randomly generated numbers that both parties keep secret. But how do you make a non-predictable pseudorandom number generator out of open source software? Nobody uses those fancy X pixel-tester rand seeders, and only the NSA can afford to point high-resolution cameras at plasma and hash the image stream.. how do the brains behind encryption libraries solve the problem of an evesdropper predicting their random number seed based on the general time of the observed connection?

:D\=< (talk) 20:26, 29 January 2008 (UTC)[reply]

Generally, all pseudo-random number generators are predictable. So, you can fight this by hiding your PRNG implementation, or by hiding the inputs. Open source software does the latter. They preturb the random number stream by mixing it with sources of entropy. They take precise time stamps from 'random' events, like keyboard and mouse movements, or network packets. If you've got a linux box, try experiementing with /dev/random and /dev/urandom. One will spit out millions of random numbers, that suffer from predictability. The other mixes with entropy, but will stop spitting out numbers once the pool of entropy dries up. --Mdwyer (talk) 21:54, 29 January 2008 (UTC)[reply]
That sounds like a terrible idea- how does my encryption library have access to my mouse/keyboard? Thanks for your answer though, it's a lot better than "encrpytion protocols are kept secret" :D\=< (talk) 22:44, 29 January 2008 (UTC)[reply]
It's a great idea - has been since the Apple II or, I'm sure, earlier. "You - yes you there, you piece of code - count upward as fast as you can and wrap around and repeat until the user hits a key." "OK, boss, I got 4,002,199,939." Tempshill (talk) 22:50, 29 January 2008 (UTC)[reply]
As Tempshill said, it's a great source of random data. The least significant digits of the exact time when you hit a key on the keyboard (measured in, say, milliseconds, or less). It has high entropy, and you can generate as much as you need by simply typing a few sentances. 83.250.203.75 (talk) 23:15, 29 January 2008 (UTC)[reply]
The crypto library doesn't have access to those devices. Anyone implementing a device driver for a device that produces reasonably random outputs (such as "what is the low-order bit for how long my disk drive took to seek?") can add it to an O/S entropy pool, which anyone (including the crypto library) can later ask for bits from. It is good that you're thinking about separation of concerns, though. --Sean 00:11, 30 January 2008 (UTC)[reply]
As long as you don't need a massive amount of it, entropy for making unpredictable random numbers is not hard to come by at all. As other people have said, many (most?) unix based operating systems stockpile it from various sources (like keyboard/mouse on machines that have them) to be used later whenever a random number is requested from /dev/random.
Here is a very cheap opensource device for creating "Cryptographic quality randomness" by charging and discharging a capacitor, measuring it's voltage, and then using only the last bit of that measurement as a source of entropy.
There's also whimsical, but probably still perfectly solid, ways of generating entropy like lavarand, (and its less-whimsical spiritual successor LavaRnd.)
I don't have a link handy, but as I understand it radioactive decay and a geiger counter is one of the most theoretically strong sources of entropy. APL (talk) 23:56, 29 January 2008 (UTC)[reply]
Hey, look! Hardware random number generator I'm rather fond of the "lock a web cam in a dark place" source of random. --Mdwyer (talk) 18:21, 30 January 2008 (UTC)[reply]
Two steps, if you want to stick with PRNG instead of getting out hardware. Firstly, use a Cryptographically secure pseudorandom number generator algorithm. Secondly, don't grab a seed as you do the connection. The whole point of PRNGs is to obscure the seed over successive iterations, not to pick the first transformed number. For example, load a seed as the final few bits (i.e. the seconds, or microseconds, or whatever) of the time of the computer's boot up. Then, it would be impossible for an interceptor to guess the seed - and more importantly, the current state of the PRNG, unless he has something like physical access to your computer. In which case, no encryption in the world will save you.--Fangz (talk) 02:12, 1 February 2008 (UTC)[reply]

About the RD itself...

edit

Each section has a "ask a new question by clicking here" link in the header/instructions. I have used that link, here. However, I want to ask a question ABOUT the Reference Desk, on the RD's discussion page, and I just don't see how to add a new entry there. What am I missing? -SandyJax (talk) 21:43, 29 January 2008 (UTC)[reply]

Little bitty plus-sign (+) in one of the tabs at the top. --LarryMac | Talk 21:46, 29 January 2008 (UTC)[reply]
No, I'm NOT gonna say "Duh!" That wasn't exactly obvious. Thanks! -SandyJax (talk) 21:47, 29 January 2008 (UTC)[reply]
wince.. mm no I'm going to have to go with yeah that was pretty obvious :D\=< (talk) 22:46, 29 January 2008 (UTC)[reply]
I don't think it's obvious at all, but it is standard across all Wikipedia talk pages. I think "Start new topic" would be better, but there are competing concerns, I guess. --Sean 00:04, 30 January 2008 (UTC)[reply]

Horror of horrors, "edit this page" is already large enough. We don't need that. Kushalt 01:19, 30 January 2008 (UTC)[reply]

Spell-checker algorithm

edit

I was wondering how spell-checking algorithms usually work (like in Firefox or Word). I mean, the obvious answer (that seems to be correct) is that it selects a few dictionary-words with the smallest edit distance from the misspelled word (I'm guessing that it first looks up the word in a huge-ass hash table of the dictionary to see if it's misspelled at all). But how does it do that, exactly? I mean, I just checked my /usr/share/dict/words, and there's around 100,000 words in there. Does the program check all those words for their edit distance to the misspelled word every time you press space? I realize there is a fast dynamic programming algorithm, but it still seems mightily costly. I guess you could do a space-time trade off, and simply generate all the misspellings with an edit distance less than 2 or 3 and put them in a huge dictionary an list the words they are misspellings off. But as with all space-time trade offs, instead of being mightily costly, it would be mightily big. Am I drastically underestimating the speed of modern computers, or is there some algorithmic quirk I'm missing? 83.250.203.75 (talk) 23:09, 29 January 2008 (UTC)[reply]

I think you're underestimating the speed of modern computers. The naive edit-distance algorithm requires filling out a table of size mn where m and n are the sizes of the words being compared. For an average word length of 5 letters that's around 5·5·100000 = 2,500,000 table entries total. I don't know how long each table entry would take to calculate, but say 20 cycles (keeping in mind that everything will fit in L1 cache). That's around 50 million cycles or around a fortieth of a second. That would be too slow to use on every word, but you only need suggestions when you're about to put up a UI and wait for user input. Even a full second per suggestion list on a 486DX-33 wouldn't be too bad. Nevertheless I'm sure all real spelling checkers do something more sophisticated. It looks like GNU aspell converts words into a phonetic representation called "soundslike" and then does iterative deepening edit distance on that, with an index for small edit distances (1 and 2).[1] -- BenRG (talk) 15:18, 30 January 2008 (UTC)[reply]
Finding misspellings and creating suggestions are two separate tasks. I've implemented a basic (very basic) spell checker before using a tree. For example, the word apple: you start with the letter 'a' then there would be a link to the letter 'p' and from there another 'p' -> 'l' -> 'e' -> end of word. If a word is misspelled you reach a letter that isn't linked. This is fast enough to take place every time you press space. There's probably a better way but I know this works. Mad031683 (talk) 22:41, 31 January 2008 (UTC)[reply]
You might like Peter Norvig's article, How To Write A Spelling Corrector. I implemented a slightly modified version of his code in C# and managed to get around 78% accuracy, ~150ms per word. Not stunning by any stretch, but not too shabby either. — Matt Eason (Talk &#149; Contribs) 02:45, 3 February 2008 (UTC)[reply]

Google searching without calling up maps - possible?

edit

When I've tried to Google a city for various information (jo search, standard of living, etc.), I keep getting something thta annoys me because it freezes my computer up - Mapquest maps. Nothing in my Internet access will work till the map loads, which wastes time and is really annoying. I haven't been able to figure a way a Google Preferences to turn maps off - is there one right in front of me I'm not noticing?

And, yes, I know someone will suggest it, and thank you, I've actually searched for city names I wanted on wikipedia and gotten great results with links to the cities, basic info, etc.; so I could keep doing that, but it'd be nice to be able to Google.63.3.19.129 (talk) 23:52, 29 January 2008 (UTC)[reply]

That is not normal Google behavior. (Google runs a competing service to mapquest, it wouldn't make sense for them to force you to view a mapquest map.) When I do a google search, For example Boston, I do see a small thumbnail of a maps.google result, but it's only 4.2 kilobytes (less than the logo), which shouldn't be enough to "freeze up" a computer.
Perhaps you've installed some additional software on your system? Some sort of "search bar" or similar?
If it is the maps.google thumbnail that's causing your problem, I'm not sure if there's anything you can do short of using an ad blocker to block all images from Google.com. However, they may be interested in hearing about your problem. Try clicking on the "Dissatisfied?" link at the bottom of a search results page that causes this problem. APL (talk) 00:19, 30 January 2008 (UTC)[reply]
If it is the Google map that is a problem, add "-site:maps.google.com" to your search string. Or, if it's really mapquest, try "-site:mapquest.com". Those additions tell Google not to return any page where the address is from the specified domain. --LarryMac | Talk 00:39, 30 January 2008 (UTC)[reply]

How many simultaneous connections to the Internet does your computer have? If you are using Windows XP, I believe the default is 4. If you are on a fast enough connection, you might want to increase that. However, i It does not make sense how mapquest would be able to do anything like that. Kushalt 01:16, 30 January 2008 (UTC)[reply]

Wel, it's actually AOL search enhanced by Google, which makes me think it's using a Google search engine, but with the link provided, it was a Google search that came up with the thumbnail and no freezing. So, it must be AOL that's acting flaky - but typing "-site:mapquest.com" didn't help. I do have Windows XP, so that might be a good place to start. —Preceding unsigned comment added by 63.3.19.1 (talk) 01:34, 30 January 2008 (UTC)[reply]
You might consider just going to http://www.google.com and doing a straight Google search without whatever additional stuff AOL has added to it. APL (talk) 13:39, 30 January 2008 (UTC)[reply]
XP doesn't limit the number of open network connections, or if it does the limit is much much higher than four. The Internet API that ships with XP does have a limit of two or four connections, but that's per server, so it would only affect the OP's ability to access mapquest.com. This limit is not so much about your connection speed as about being a good 'net citizen; the intent is to avoid overloading web servers. Browsers like Firefox that don't use the Internet API implement a similar limit independently. -- BenRG (talk) 18:35, 30 January 2008 (UTC)[reply]
A couple things going on here . . . AOL search "enhanced by Google" is not Google, so the fact that the "-site:mapquest.com" option doesn't work isn't too surprising. In fact, I can't really find a good definition of what "enhanced by Google" actually means. They might as well be saying "now with Techron 57". Also, Mapquest is owned by AOL, so AOL Search forcing a Mapquest map into the results is just what I'd expect them to do. APL has the best suggestion, I think. Ignore AOL search completely and just use Google directly. --LarryMac | Talk 18:38, 30 January 2008 (UTC)[reply]

you might also want to Get Firefox. is there a specific reason you need to use AOL search? Kushalt 20:24, 30 January 2008 (UTC)[reply]

Nah, just force of habit, since I'm on it anyway. :-) I think I'll just search with www.google.com from now on as was suggested.63.3.19.1 (talk) 21:40, 30 January 2008 (UTC)[reply]

Removing email addresses

edit

Whenever someone posts their email address here, some well-meaning soul will remove it and say "I'm helping you not get spammed". My question is: how would that help? Presumably spambots are pointed at en.wikipedia.org and spider down from there. If they make it from the Main Page to Wikipedia:Reference_desk to Wikipedia:Reference_desk/Computing, surely they'll take the next step to the page history and harvest the addy from there. Is this just a WP superstition, or is there evidence that spiders are programmed to ignore the history pages? Bonus question: why isn't WP:RD/C linked in my post? Thanks! --Sean 23:55, 29 January 2008 (UTC)[reply]

I don't know about webcrawlers and the page histories, but your WP:RD/C link doesn't link because you can't link to the page you're on. Useight (talk) 00:30, 30 January 2008 (UTC)[reply]

Good question. When I remove e-mail addresses, I am not thinking about automated scripts. I am thinking about humans. I assume it would be possible for administrators to remove the edit from page history but I am not sure if automated scripts will be able to pick up the traces after the deletion (I presume that traces of undoable actions of administrators are logged). Kushalt 01:10, 30 January 2008 (UTC)[reply]

I mostly just remove with a comment saying "see the rules up top." It's more of an educational "no that's not how we reply here" kind of thing. Of course, if somebody posts and then just waits around for an email and never comes back, then they'll never see the message. C'est la vie. --LarryMac | Talk 01:15, 30 January 2008 (UTC)[reply]
If you post your email address here, it can be harvested, either via a web spider or via downloading the database. If you don't post your email address, it can't figure it out from the history. The history shows your Wikipedia username. This is not your email address. Marnanel (talk) 01:48, 30 January 2008 (UTC)[reply]
The point is that the history will show the email of the person whose email was removed by a helpful editor - as in this diff. --LarryMac | Talk 02:09, 30 January 2008 (UTC)[reply]
Oh, I see, sorry. Marnanel (talk) 02:16, 30 January 2008 (UTC)[reply]
I am fairly certain that administrators can only delete pages, not edits. For pages, the record of the deletion taking place is publicly available, but the deleted content (such as an email address) is not. -- Meni Rosenfeld (talk) 13:09, 30 January 2008 (UTC)[reply]
They can (and do) delete edits by the cumbersome procedure of deleting the page and undeleting some but not all of the edits. The deleted material is then available to all admins. Since this is still fairly public, serious problems (such as libel) are dealt with via oversight. Algebraist 16:38, 30 January 2008 (UTC)[reply]

Can users with oversight see what other users with oversight have deleted? Kushalt 20:21, 30 January 2008 (UTC)[reply]

yeah --:D\=< (talk) 21:22, 30 January 2008 (UTC)[reply]
Not if they do the delete-then-undelete-a-limited-number-of-edits trick. That makes it so that even admins can't see it. --24.147.69.31 (talk) 23:31, 30 January 2008 (UTC)[reply]