Wikipedia:Reference desk/Archives/Computing/2009 July 27

Computing desk
< July 26 << Jun | July | Aug >> July 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.


July 27

edit

AI database

edit

10 or 15 years ago (I think), there was a project to get volunteers to input common knowledge into a database for an AI program to use (things like apple ISA edible fruit). Does anybody know what happened to it? Clarityfiend (talk) 04:12, 27 July 2009 (UTC)[reply]

It sounds like you're talking about a Commonsense knowledge base. There's several famous ones listed on that page. The one closest to your description is Open Mind Common Sense, I think. Indeterminate (talk) 05:07, 27 July 2009 (UTC)[reply]
I think it was Cyc; the name rings a bell. Thanks. Clarityfiend (talk) 06:11, 27 July 2009 (UTC)[reply]

Python "for x in y" operator overload

edit

When I use if x in y: (expecting a boolean to be returned), the real operator being called is __contains__ (so that x.__contains__(y) is the same as y in x). But apparently, when I use for x in y: it's something different. It's not even mentioned in help(list). Here's some sample code I wrought up:

class x:
    def __init__(self):
        self.data = [1,2,3,4,6,5,7]
    def __contains__(self,con):
        return con in self.data

## Now, testing it:

if 4 in d:
    print(4)    ## good - it returns 4
if 26 in d:
    print(4)    ## good - it doesn't return 4
for x in d:
    print(x)    ## bad - it gives "TypeError: 'x' object is not iterable"

Anybody know what the underlying operator is? Thanks, [flaminglawyer] 04:24, 27 July 2009 (UTC)[reply]

You're looking for the iterator protocol. For example:
class Uppercaser(object):
    def __init__(self, strings):
        self._strings = strings

    def __iter__(self):
        for string in self._strings:
            yield string.upper()
In usage:
>>> for s in Uppercaser(['Foo', 'bAr', 'baZ']):
...     print(s)
... 
FOO
BAR
BAZ
You can easily implement __iter__ using a generator. You can also implement __getitem__ and __len__ instead, but iterators are generally a nicer solution. 24.76.174.152 (talk) 05:18, 27 July 2009 (UTC)[reply]
Wow. Your explanation is really straigtforward... But the docs page... I'll have to look into this new "iterator" thing. Thanks :) [flaminglawyer] 05:46, 27 July 2009 (UTC)[reply]

Download albums from Shutterfly?

edit

Hi. My friend has several albums on Shutterfly of an activity that I was in too, and I want to download the pictures onto my computer (hi resolution if possible). I know Shutterfly probably doesn't want you to do this (as they won't make ad money if you don't use their site to access the pictures), but I was wondering if someone has made a free tool to do it. I clicked on one image and it gave me an option to download that image after I sign in (I don't know if this is a limited thing or if it will work for every picture). However, there doesn't seem to be a way to download the entire album. The albums have like 700 pictures in them so manually going through each picture is not feasible. Thanks, --76.91.63.71 (talk) 10:25, 27 July 2009 (UTC)[reply]

Your friend uploaded the images to shutterfly so why not get the images directly from your friend? If the images are not huge (<6MB), each album should easily fit on one DVD-R. Astronaut (talk) 23:31, 27 July 2009 (UTC)[reply]

Bellinis Bikini

edit

I can't get any further, please help me complete the fucking game .. It's soo hard!! (: I can't find any light, so I can go into the cave, and how do we move on? Please help we are desperate!!!!

... or you could try posting this on the entertainment desk. They're generally better with video games. [flaminglawyer] 22:44, 27 July 2009 (UTC)[reply]

What is window vista ultimate??

edit

can anyone give me a description and the general purpose of the window vista ultimate?? i will wait for your reply.... wish to see your reply soon... thank you ^^ —Preceding unsigned comment added by Bebezaii (talkcontribs) 13:49, 27 July 2009 (UTC)[reply]

See Windows Vista editions#Windows Vista Ultimate. PrimeHunter (talk) 13:53, 27 July 2009 (UTC)[reply]
(e/c) See our article on Windows Vista editions. Basically it's Home Premium (the best version for regular home users) and Enterprise (for large businesses) combined with a few extra features added on. It requires a really really high-end computer if I remember correctly. If you're thinking of buying it, then you should probably wait for Windows 7 Ultimate to be released this October. Xenon54 (talk) 13:55, 27 July 2009 (UTC)[reply]
No, I can't think of any features in Ultimate that require "a really really high-end computer". Windows Aero is the Vista component (optional to use) which has the highest system requirements, and it isn't specific to Ultimate. Tempshill (talk) 14:53, 27 July 2009 (UTC)[reply]
The answers can be got 'from the horses mouth' as well - http://www.microsoft.com/windows/windows-vista/compare-editions/default.aspx - to summarise 'ultimate' is the business ready version of vista with the media features of the home premium version.83.100.250.79 (talk) 15:19, 27 July 2009 (UTC)[reply]

Bitdefender Rescue cd

edit

How do I use this file BitDefenderRescueCD_v2.0.0_27_07_2009.iso.md5, MD5 check program accept it. Also how should I verify the checksum of BitDefenderRescueCD_v2.0.0_27_07_2009.iso. yousaf465

I got the checksum of download file as "1813A52837CC06E7C2EB25A416FBE84E". yousaf465
The purpose of the checksum is to make sure that the large .iso file downloaded with no errors. You should take the md5 of the ISO file. Then, compare it to the expected MD5 in the the small text-file. If the computed hash matches the pre-computed hash, then we can say with a high degree of certainty that you have the correct .iso file. This is an effective way to assuage paranoia about download errors or intentionally modified binary files, but it is not a required part of the process to burn a CD. Nimur (talk) 15:33, 27 July 2009 (UTC)[reply]
BitDefenderRescueCD_v2.0.0_27_07_2009.iso.md5 is not a text file, how could i check md5, the above Md5 checkesum is for BitDefenderRescueCD_v2.0.0_27_07_2009.iso.yousaf465
  Done I open the md5 file with notepad it gave "1813a52837cc06e7c2eb25a416fbe84e BitDefenderRescueCD_v2.0.0_22_07_2009.iso

" I think this file is correct. Will check with a md5checksum program.yousaf465

seeking identification of an icon

edit

Does anyone know what program this icon is from?—msh210 17:03, 27 July 2009 (UTC)[reply]

I don't know but maybe if you crop it you can run it through tineye-- penubag  (talk) 18:31, 27 July 2009 (UTC)[reply]
What happens if you hover the mouse over it, or click on it (left or right)? Astronaut (talk) 23:24, 27 July 2009 (UTC)[reply]
No, the image is too small. You could try interpolating/scaling it but I don't know if that will help, I suspect TinEye just doesn't do that sort of thing Nil Einne (talk) 23:50, 27 July 2009 (UTC)[reply]

Windows/Mac comparison

edit

Are there any advantages of Macs over Windows and vice versa (From a general perspective)? Chevymontecarlo (talk) 17:24, 27 July 2009 (UTC)[reply]

http://www.xvsxp.com/finalscore/ 87.113.158.164 (talk) 17:44, 27 July 2009 (UTC)[reply]
Something I found lacking in this is that while where was a "games" category, it only talked about games that game with the OS (minesweeper/solitaire/ect.), and it didn't mention the fact that FAR more commercial retail games are available on windows, compared to Mac. Chris M. (talk)
It depends entirely on the user. They are nothing more than different operating systems. It is like asking if a motorcycle is better than a van. Both are transportation vehicles, but they meet different needs for the user. If you can state what you plan to do with your computer, there is a possibility that one may meet your needs better than the other. -- kainaw 17:59, 27 July 2009 (UTC)[reply]


I'm going to be using my computer for gaming (From disks, not on the internet), surfing the web, creating word documents and saving music files in MP3 format (I have an iPod) Chevymontecarlo (talk) 10:32, 30 July 2009 (UTC)[reply]

Gaming == Windows. Yes, you can play some games on Macs (and even Linux). Most games work best (or only) on Windows. -- kainaw 13:06, 30 July 2009 (UTC)[reply]

Game bot/ai

edit

My school will have a programming competition. The idea is to make an algorithm to control pieces of a board game. The game takes place on a MxN grid. It starts by placing K black and white pieces on random positions on the board. On every turn a piece is randomly selected and the algorithm gets to move it. The piece can move one step to one of the 4 major directions, possibly eating an enemy piece, but not off the grid or onto a friend piece. The data the algorithm gets for deciding where to move the piece is what the piece "sees" in the four major directions and the distance to it. If the piece sees a friend piece (instead of the grid edge or an enemy piece), it also sees the "color" of that piece, a 4 byte number (pieces can't see their own color and there's no other memory that lasts longer than a turn). The piece can also set its own color when it gets a turn. A player wins the game if all of his pieces are "connected visually", ie any piece can see all other pieces directly or through other piece that sees other piece ... that sees the piece. (Please forgive my English).

I'm a bit stuck with this. The only thing I can think of is trying to command the pieces towards the center of the board. I don't know any other similar games either. All kinds of help are welcome. --91.145.73.220 (talk) 22:19, 27 July 2009 (UTC)[reply]

I'm a bit confused about "The piece can also set its own color when it gets a turn" - does this mean a piece can turn into an enemy piece after it moves?
Also does the algothym get the absolute position of friendly pieces each turn eg (x,y) position
Also a bit confused about "if a piece sees a friend piece" - but then you say "pieces can't see their own colour": Are friend pieces not all either black or white?
Also does player A get the 'views' of player B's pieces, or just their own?
Also what does the "4 byte number" you mention contain? (It sounds like a difficult puzzle by the way - you might want to alert the maths desk to this question)83.100.250.79 (talk) 22:39, 27 July 2009 (UTC)[reply]
On the "4 byte number" thing, that means a number (in binary) that has 4 digits (bytes), meaning any number between 0 and 15 (0000 being 0 and 1111 being 15). [flaminglawyer] 22:52, 27 July 2009 (UTC)[reply]
... and I don't think the maths desk would help on this one, it's purely programming. [flaminglawyer] 22:54, 27 July 2009 (UTC)[reply]

Sorry about the confusion.

  1. It cannot turn into an enemy piece. Every turn one (random) piece can move and (must) set its color. Only friend pieces see the color, enemies are seen just as "enemies".
  2. The algorithm gets no info but what it sees.
  3. Oops, no wonder if this confuses. I meant to say player A's pieces are white and player B's black. Then pieces have a color that is the 4 byte number and only visible to friend pieces. It makes sense if you want to believe into it.
  4. I assume you mean the "visual connection" thing, no, enemy pieces cut the connection.
  5. The 4 byte number contains the color, the algorithm must set it every times it moves the piece. Initially the color is 0.

--91.145.73.220 (talk) 23:03, 27 July 2009 (UTC)[reply]

Good that's clear - actually for 4 I meant : does Player A get a list of what Player B's pieces can see - but I understand now - if a player's piece can't see another piece of the same (black or white) colour as itself it's effectively blind. 83.100.250.79 (talk) 23:31, 27 July 2009 (UTC)[reply]
Also 4bytes is 32bits - Can I make the assumption that N+M<=32 ? (ie a smallish board)83.100.250.79 (talk) 23:33, 27 July 2009 (UTC)[reply]
That's left somewhat unspecified, but there should be small cases too. Also just to make sure, even if a piece doesn't see a friend in some direction it still knows whether there's an enemy or the grid edge and how far it is from it. --91.145.73.220 (talk) 00:03, 28 July 2009 (UTC)[reply]
Huh. Well, one strategy you might think about is that if a piece can see a friendly piece, it probably shouldn't move in a perpendicular direction (so it loses sight of its friend). If it sees a friend to the North, it could move north or south until it sees another friend to the east or west, then stop. If it can't see a friend, it could go any direction, I guess. The "color" sounds like it's just supposed to be used as a state variable, so that when a piece sees a friend, it knows how many friends that friend can see. Or something like that. Anyway, sounds like fun, good luck. Indeterminate (talk) 02:47, 28 July 2009 (UTC)[reply]
One useful thing I can think of is that the computer can be programmed to derive the relative positions of connected (viewed pieces), there may be more than one set of view connected pieces (and it may not be immediately certain which pieces can see each other eg if 2 pieces can see a piece 4North, and 2 pieces can see a pieces 4 south there's a 50/50 chance of guessing which piece is actually seeing the other - I imagine the colour seetting function could help here after a couple of moves)
If you construct sets of connected pieces it should be obvious that each set requires a 'sub-board' of at certain size, that can be derived from the data - this sub board size can be used to derive a range of absolute positions for those pieces. A second set of view connected pieces can be used to reduce the number of possibilities for the absolute position of the first set (ie certain combinations are impossible, or connect the two sets)
Using this derived data you can get a expectation (probability) of a given square being viewable or not. Additionally you can get an expectation of where each view-not connected piece might be using the same data set.
Using these two values you can make moves giving the highest expectation of moving towards or into a viewable square. This doesn't guarantee a win, but should increase the chances of winning over many random games..
Apart from using the colour values to help remove uncertainty as to which sets are connected as described above, I haven't really though of a use for them, except to keep track of how much a pieces has moved from it's starting position - which can be useful...
Some of the concepts seem similar to a game of Battleship (game) - maybe there have been some studies of winning strategies for that game which you could find out about?? (and modify)
It's clear to me that the method I've decribed doesn't do 10% of what could be done, though I haven't got a clue what other methods could be used.
In the absence of anything else I'd suggest moving the pieces towards an edge along the shorter length :) 83.100.250.79 (talk) 13:08, 28 July 2009 (UTC)[reply]
By the way one issue with the method above is that it's a brute force method, and the number of combinations gets massive rapidly as the board size increases.. It will probably be out of the range of a desktop computer if the board is say 32x32 with 10 pieces each.83.100.250.79 (talk) 13:21, 28 July 2009 (UTC)[reply]
Also it might help if number of pieces is always less than 32 - any clues?83.100.250.79 (talk) 13:48, 28 July 2009 (UTC)[reply]
There is no "history" any piece can see. Unless...set it up so the number of the colour indicates how many pieces that piece can see. Because you win by having the bigger network of pieces, the piece whose turn it is should move to where it will increase the total "visibles" available to it. So if North-South has a higher count than East-West, it should move NS, in the hope of finding a higher-scoring EW line. If the visible EW is say more than 50% of the possible high score, perhaps it should pass its turn to a brother piece. Giving preference to eating an enemy piece is fraught with danger...if the enemy has his own kind as neighbours, the eating piece might become the victim in the next turn._ KoolerStill (talk) 14:54, 28 July 2009 (UTC)[reply]

Colour schemes in GUIs

edit

I thought this would be easy to find, but no! it's not. Could anyone point me in the direction of research papers/articles on good (and perhaps not-so-good) colour schemes in GUIs or similar? There are a couple of names in my head who did research in this area but their actual names escape me now. Thanks in advance. x42bn6 Talk Mess 22:37, 27 July 2009 (UTC)[reply]

I don't know of anything specifically (or at all), but I can point you to Google Scholar, which (basically) searches a bunch of papers/articles to find what you want. [flaminglawyer] 22:48, 27 July 2009 (UTC)[reply]
This page mentions "Murchs Rules" [1]
Does that ring a bell? There are some other references on the page too.83.100.250.79 (talk) 22:52, 27 July 2009 (UTC)[reply]
Thanks, I think that was one of the names. I'll keep looking around. x42bn6 Talk Mess 23:17, 27 July 2009 (UTC)[reply]
The importance of consistency in user interfaces has been documented in many human-computer interaction research areas. Don't re-use the same color for different conceptual ideas - it is a source of subtle confusion. Nimur (talk) 23:30, 27 July 2009 (UTC)[reply]