Wikipedia:Reference desk/Archives/Computing/2007 October 18

From Wikipedia, the free encyclopedia
Computing desk
< October 17 << Sep | October | Nov >> October 19 >
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 18[edit]

PowerPoint resolution[edit]

What is the default pixel resolution of a PowerPoint slide? In one of the options (Preferences > General > Movie Options on my Mac) it seems to think it is 640x480 (VGA), though when I have it zoom to 100% and take a screenshot, it looks more like 720x540 (NTSC). Which is it? When it is ported into a digital projector through a VGA cable, is it possible that it would go as high as NTSC or would it be limited to VGA anyway? Any idea how this works? --24.147.86.187 00:51, 18 October 2007 (UTC)[reply]

I don't think that PP slides really have a resolution. They are effectively vector art, which is automatically scaled to whatever pixel size is needed. PP slides will take on the resolution of whatever output device they are sent to, be it a printer, monitor or projector. BUT if you include bitmap graphics in your slides, they DO have a specific resolution. PowerPoint will try to scale these automatically for you, but depending on the picture, it might not scale very well. --Mdwyer 01:53, 18 October 2007 (UTC)[reply]
The place you run into trouble, of course, is that PowerPoint slides are vector art edited in a bitmapped WYSIWYG GUI environment, so the vector objects may not be all that well aligned when viewed at a resolution other than the one the original editor was using. That is, when viewed finely enough, PowerPoint objects almost strive to be misaligned unless you take great pains to deliberately align them.
Atlant 12:14, 18 October 2007 (UTC)[reply]

Animated GIFs[edit]

I've always wondered how you make animated Gifs but never known how to. Could some please tell me?Xor24 talk to me 00:52, 18 October 2007 (UTC)[reply]

You need specialized software. Photoshop can do this (badly). Animation Shop is by far the best. IrfanView might pull it off. --ffroth 01:52, 18 October 2007 (UTC)[reply]
Photoshop CS3 (the latest version) does it quite well, actually. They basically merged all of ImageReady's capabilities right into the main program. It's pretty kickin'. --24.147.86.187 02:13, 18 October 2007 (UTC)[reply]
Could someone tell which of these are free.
Neither of them are free, though free trials are available for both. Ale_Jrbtalk 11:40, 18 October 2007 (UTC)[reply]
(Anonymous poster's suggestion that one should steal software removed by Atlant 16:13, 18 October 2007 (UTC))[reply]
Keep in mind, of course, that piracy is a crime. Ale_Jrbtalk 12:36, 18 October 2007 (UTC)[reply]
Please don't repeat propaganda as fact. In many jurisdictions today, and until 1997 in the US, copyright infringement other than for financial gain is a tort and not a crime. Even today in the US, infringement that isn't intimately connected with distribution would have a hard time being labelled a crime. On the same subject, it's not theft either, as that involves deprivation. --Tardis 19:41, 18 October 2007 (UTC)[reply]
I apologise then, a tort in some countries, and a crime in others. That doesn't change the fact that under most jurisdictions in developed nations, copyright infringement is against the law. Ale_Jrbtalk 22:11, 18 October 2007 (UTC)[reply]
The Gimp is free, and it can export animated gifs. APL 13:05, 18 October 2007 (UTC)[reply]
i'm perfectly aware that piracy is illegal and didn't intend to do any of the sort; i was just hoping for some free software to make animated GIF's or any oter type of animated file really as long as it's free. —Preceding unsigned comment added by Xor24 (talkcontribs) 01:15, 19 October 2007 (UTC)[reply]
GIFsicle is a simple and free command-line utility for creating and editing animated GIFs. If you just want a tool that does one job (animated GIFs) and does it well, and are not afraid of the command line, that's what I'd recommend. The page says "for UNIX", but there are download links for a Windows version right at the top. —Ilmari Karonen (talk) 07:19, 20 October 2007 (UTC)[reply]

touchpad mouse[edit]

Ive noticed that i cant operate th touschpad mouse on my computer with things other than my fingers. Ive tried the eraser on my pencil and other stuff that I happen to have in my hands while using my computer. How does the computer distinguish between my fingers and other objects? —Preceding unsigned comment added by 128.101.53.151 (talk) 01:42, 18 October 2007 (UTC)[reply]

From touchpad:
Also, phear my new 1990s signature >:D --ffroth 01:47, 18 October 2007 (UTC)[reply]
No ophence*, but I removed the bling bling. That was easily the worst computer-related invention ever. Note that even the article finds it so inappropriate it shows how to do it, but doesn't show the result by actually doing it. DirkvdM 05:42, 18 October 2007 (UTC) *Or should that be with a double 'ph'?[reply]
But will you track every one of my contributions to remove the tag? --ffroth 22:39, 18 October 2007 (UTC)[reply]
Well, ok, I'll leave it here to show others what I mean. :) Tracking it would of course be extremely easy in this case. But not even necessary because I can just replace them all in one go in an editor. DirkvdM 08:37, 19 October 2007 (UTC)[reply]
He shouldn't have to.--24.2.176.64 16:55, 19 October 2007 (UTC)[reply]
Where's the "under construction" and loading bar override to scroll WELCOME 2 MAH HOMEPAGE? -Wooty [Woot?] [Spam! Spam! Wonderful spam!] 02:21, 18 October 2007 (UTC)[reply]
You mean the status bar. And you forgot the javascript alert saying "Welcome!" --ffroth 22:41, 18 October 2007 (UTC)[reply]
And looped MIDIs as well. -Wooty [Woot?] [Spam! Spam! Wonderful spam!] 12:52, 20 October 2007 (UTC)[reply]

population growth of india[edit]

what is growth of population of india from the year 1991-2007and also give bar graph for this? —Preceding unsigned comment added by Ankur.rukna (talkcontribs) 04:16, 18 October 2007 (UTC)[reply]

One of the things pupils should learn is how to rephrase a homework question so that it no longer looks like one. Simply adding a question mark doesn't quite do it. Another thing they should learn is where to ask the question. Or where to look it up. DirkvdM 05:47, 18 October 2007 (UTC)[reply]
Why use a bar graph? Those things are overused and pointless for statistics. The UserboxerComplain/ubx 14:39, 20 October 2007 (UTC)[reply]

Thats just a dumb question you can type into google and click the statistacal stuff anyway; i suggest you will not do well in school exams if you cant find that on google:)Chromagnum (talk) 06:04, 29 June 2009 (UTC)[reply]

Software[edit]

How to convert a file from .pdf file to .dwg (drawing file AUTOCAD) —Preceding unsigned comment added by Asarat chandra (talkcontribs) 09:10, 18 October 2007 (UTC)[reply]

Not sure you can - as far as I know, a PDF file stores images as rasters rather than vectors (which AutoCAD uses). You may be able to convert the PDF to an image and then import it into AutoCAD as a background image/texture but you wouldn't be able to do much with it. GaryReggae 12:12, 18 October 2007 (UTC)[reply]
respectfully disagree. many pdf's contain lots of vector graphics. just zoom in, and if it doesn't become pixelated, it's not raster (bitmap). —Preceding unsigned comment added by 77.234.80.59 (talk) 12:24, 18 October 2007 (UTC)[reply]
I agree with the respectful disagreement. PDFs can contain bitmaps, but they are usually just PostScript, which is essentially a vector format. You can convert the PDF into PostScript. Can AutoCAD then import EPS or PS documents? --Mdwyer 16:19, 18 October 2007 (UTC)[reply]

Firmware for K750i[edit]

To upgrade firmware on my K750i mobile to an W800i level, what do I do? The Updater would like to talk to you! 10:14, 18 October 2007 (UTC)[reply]

Have a look at the phone manufacturer's website (I suspect K7510i is Sony Ericcson) and you will probably find a 'Support' or 'Downloads' section where you can download the firmware. This will probably have some instructions on how to do it but I suspect you would need to connect your phone to your computer using the USB cable that (hopefully!) came with the phone. You may also need to install the driver CD-ROM that came with the phone although if you don't have that you can probably download these drivers from the Sony Ericsson website too. GaryReggae 12:16, 18 October 2007 (UTC)[reply]
Thx very much The Updater would like to talk to you! 00:42, 20 October 2007 (UTC)[reply]

Excel — decimal alignment[edit]

Is there a way in Microsoft Excel to align a column by decimal point when the figures have varying significant figures? (For example, align 34.2106, 123.5, 23,104.25, 2,114 and 106.227 on the decimal points.) Because of the differing significant digits, adding leading or trailing zeros, then right-aligning the column would be inaccurate and isn't appropriate. Thank you. — Michael J 11:21, 18 October 2007 (UTC)[reply]

Sure there is. Highlight all the cells that you're going to have values in, right click, and choose 'Format Cells'. Under 'Number', go down to 'Custom' and type in '????.???????' where the number of question marks on each side of the decimal point is the same as the highest number of digits you'll have. If, for example, the number with the most digits is '1234.56789123', you'd put '????.????????'. Ale_Jrbtalk 11:38, 18 October 2007 (UTC)[reply]

Windows XP instalation[edit]

Hi,

I'm looking to build a desktop PC from scratch using the ASUS M2N32 SLI Deluxe Motherboard, and a SATA HDD (a WD RaptorX). My Question is, is it necessary to provide a RAID driver on a floppy disk during the install of Windows XP sp2 even if you aren't using RAID? I've read that you need to do it with all SATA HDDs and would just like to confirm. Also, does anybody have any reccomendations for an ATX tower case? I'm still undecided on which one to use.

Cheers, Mike 132.244.246.25 12:02, 18 October 2007 (UTC)[reply]

1. No, you don't need to install RAID drivers

2. Antec Nine Hundred is an awesome case. -Wooty [Woot?] [Spam! Spam! Wonderful spam!] 22:35, 18 October 2007 (UTC)[reply]

Portable Internet Exploder[edit]

I'd like to be able to take the changes I make to Internet explorer (preferences, plugins, etc) with me on different computers. I've tried copying the IE folder from Program Files onto a USB drive but when I start the program from the USB on a different pc it actually starts the host computers version of Internet Explorer. As the IE folder is only about 1MB, I'm thinking thats not all the files needed. I've done some looking as it seems that a Chinese man, who wanted to customize his Internet Explorer browser, made a program called MyIE2. However, this apears to use the host computers IE but modify it only. How about a portable Internet Explorer that works inderpendent from the coputers IE (rendering engine and all) and prehaps might work on Linux on wine or something. xxx Hyper Girl 12:18, 18 October 2007 (UTC)[reply]

I have no idea if this is possible in IE, but I suspect not. The best answer I can give you is to use Firefox (portable) which can do exactly that. Ale_Jrbtalk 12:26, 18 October 2007 (UTC)[reply]

How to do a network update on a psp.[edit]

How do i do a network update on a psp to upgrade the firmware through it, or a umd? —Preceding unsigned comment added by 65.34.23.246 (talk) 12:35, 18 October 2007 (UTC)[reply]

See this page. Ale_Jrbtalk 12:40, 18 October 2007 (UTC)[reply]

List of most popular software applications[edit]

Hi everone, I'm currently trying to find a list of the worldwide most used software applications. I looked at Application software but it seems it not going that deep. Anything would help: most used software in medical welfare, CRM-Software, groupware etc. A link to any actual research on this topic would be highly appreciated! thx in advance --MilesTeg 12:41, 18 October 2007 (UTC)[reply]

Static noise[edit]

Is there any way to reduce or eliminate the staticy noise that occurs when the volume is turned up? I'm referring to when there is no audio playing, but white noise is present. This problem is very irritating for when I'm wearing my headphones and the DVD I'm playing is quiet, forcing me to turn up my volume, which increases the static noise I hear when not much is going on onscreen.--SeizureDog 12:56, 18 October 2007 (UTC)[reply]

Speaker/headphone static is nearly always caused by your sound input. To get rid of it, go to 'Start' > 'Run' and enter 'sndvol32' to get the sound console up, then mute the 'Input Monitor' if it is there, or the respective mic input. This should remove the static, but you will be unable to use a microphone until you switch it back on. Ale_Jrbtalk 13:01, 18 October 2007 (UTC)[reply]
Thank you so much for your prompt reply. That made an amazing difference. Such a simple solution, I should have asked about it earlier. Now I can watch Hard Candy without irritation. :D Again, thank you.--SeizureDog 13:07, 18 October 2007 (UTC)[reply]
No problem at all. Have fun! Ale_Jrbtalk 13:10, 18 October 2007 (UTC)[reply]

Is it possible to purchase extremely outdated OSs?[edit]

I've got an old laptop I'm using to run various IRC bots (so it can be dedicated), but it was designed for windows 98 and is currently crawling along, struggling to run XP pro. I wish to downgrade it back to 98, but it was upgraded so long ago nobody has the original disks. Is it even possible to still buy windows 98 anywhere? Someone passed me a torrent but it was broken, and in any event that's piracy which is a VBT. Kuronue | Talk 15:06, 18 October 2007 (UTC)[reply]

A quick search on eBay for Windows 98 in the Computers & Networking > Software > Operating Systems category shows quite a few new copies of 98 SE for sale. They look to be going for $40-$60 mostly... I'd imagine there's a fairly thriving market for it for just this sort of thing, as the most stable version that's going to run on significantly older hardware. Another place to check would be flea markets... most that I've been to that have permanent vendors have at least one booth specializing in older computer equipment. Pinball22 15:56, 18 October 2007 (UTC)[reply]
Try running them under wine in Linux, save some hassle tracking down overpriced old copies. --antilivedT | C | G 07:16, 19 October 2007 (UTC)[reply]
I expect you can run most IRC bots natively under linux. I suggest fluxbuntu, should be very easy to install (wireless might be a little difficult, but otherwise you should be fine) and it'll run lighter than windows 98.risk 11:56, 19 October 2007 (UTC)[reply]
One place where Linux really shines is in resurrecting ancient machines like this...and I'd be surprised if there weren't perfectly good IRC bots under Linux. You ought to at least give it a shot. SteveBaker 19:47, 19 October 2007 (UTC)[reply]
I'm still working on my perlbot, the bot I have running now runs under mIRC's native scripting language. But that's a good point - if I finish my perlbot, I could run it under linux, AND have a practice machine on which I could learn how the darn OS works. Kuronue who isn't logged in ATM 75.177.0.18 20:24, 20 October 2007 (UTC)[reply]

config.sys[edit]

how to open & see what is there in config.sys ?

122.164.62.176 15:55, 18 October 2007 (UTC)[reply]

It's a text file; just open it with any text editor. (For example, run Notepad and then drag-and-drop config.sys into it.) There's also a program called "sysedit" on at least some versions of Windows that'll open it. But I doubt you'll find anything interesting, since config.sys is a DOS-era relic that isn't normally used by XP or Vista. -- BenRG 17:21, 18 October 2007 (UTC)[reply]

C Header files[edit]

Is there any way by which we can view the contents of the functions refered to by the standard header files in C(or C++)? Also can we create our own header files? --Piyushbehera25 15:58, 18 October 2007 (UTC)[reply]

On most implementations the header files are ordinary text files stored in a directory somewhere, probably called "include" (e.g. /usr/include). The definitions of the functions are less likely to be installed on your system, but usually they're available somewhere. The source code to GNU libc is freely available, and the source code to Microsoft's C library comes with the compiler (I'm not sure it comes with Express). Certainly you can write your own header files. Read a C tutorial to learn how. -- BenRG 17:25, 18 October 2007 (UTC)[reply]


Thanks for ur help but can u be more specific about creating our own header files...I have referred to many books but I am not able to find any way. Can you atleast suggest a good book?? Thanks again..Piyush —Preceding unsigned comment added by 59.88.125.184 (talk) 08:02, 19 October 2007 (UTC)[reply]

Read Header file to find out what a header file is, and how it works. I get a strong feeling that your understanding of C programming is not complete enough for a meaningful discussion here. Could you give us some background on the programming environment that you use (gcc, eclipse, visualstudio), what you're trying to program and for whom, and what your previous experience with programming is? O Reilly's Practical C Programming is a pretty good book on C. risk 12:06, 19 October 2007 (UTC)[reply]


Thanks for the header file link...but my exact question is How to view the "source code, that is automatically included in another source file by the compiler". I am a student and do programming for educational purpose I use Visual and Borland C++. --Piyushbehera25 03:21, 20 October 2007 (UTC)[reply]

My Laptop[edit]

Hiya, when typeing on my laptop, the letters do not correspond to the key board, for instance, if I type a o it will come out as 5 or if I type m it will come up as g on screen. how can I fix this, is it a virus? or it there any other possiblility. Further more, after trying to deal with this, i became rather frustrated and punched my keyboard...yeah, i know...So, how does one reattach keys that have come off as my K now does not work at all which can be a problem when trying to type co.uk Thanks guys, and girls 193.115.175.247 16:00, 18 October 2007 (UTC)[reply]

If you're using Windows XP, which your other post makes me think you are, go to the Control Panel, choose Regional and Language Options, then the Language tab, then click Details and see what keyboard layout it thinks you're using. Pinball22 16:21, 18 October 2007 (UTC)[reply]
As for the broken keys, try just pushing them back into position. They should click in if they can be reattached. If it doesn't click in, and really doesn't work anymore, then you'll have to pursue buying a new keyboard for it, the price of which (and difficulty in installing) can vary depending on the model of the laptop. And yeah, punching your thousand dollar machine just because it isn't working the way you expect it to is pretty stupid. --24.147.86.187 20:03, 18 October 2007 (UTC)[reply]
I'd bet that your FIRST problem was that you'd pushed NumLock. On a laptop that usually maps the "number pad" that a fullsized keyboard would have onto the keys over on the right of the keyboard. If you push it accidentally, it can be really confusing. But once you started physically attacking your machine, you wrecked it. The symptoms you describe are typical of a key being stuck down somewhere - you might try gently wiggling all of them one at a time and see if one pops up. If the K isn't utterly broken, you should just be able to push it back into place firmly...but I'm betting you already tried that. It may be the K that's stuck down...I have little sympathy for people who hit machines - it's dumb and it almost never helps. (Although, when I get a new keyboard, I do very gently prise off the NumLock, ScrollLock and CapsLock keycaps - then jump up and down on them and toss them with great violence into the trash.) SteveBaker 20:15, 18 October 2007 (UTC)[reply]
Numlock is reasonably useless on a fullsized keyboard, but it's out of the way where you aren't likely to hit it by accident, and some old games require it to be in one state or the other to work properly. Scroll lock occasionally performs a useful function, like pausing the display in a Linux console display, and the rest of the time does absolutely nothing, so there's no reason not to leave it alone. Capslock is an abomination, but you can make the key location useful by remapping it as a control key or a second left shift key -- and in either case, leaving the key cap on lets you re-label the key with the new function. --Carnildo 20:28, 18 October 2007 (UTC)[reply]
Caps Lock does have a function! Why it's everyones favourite push-to-talk button. We all need a useless, semi-central key for that. Lanfear's Bane 08:22, 19 October 2007 (UTC)[reply]

Hacker[edit]

I used to use a program called hacker, it was used to cheat at games. I used it primarily on Warcraft I and II and Daggerfall, but it could be used on most games that save...Lets say you are playing Warcraft and you have 200 gold. you save your game as ZYX and exit, open up hacker and ask it to find 200 in save game file XYZ then ask it to change this to 99999999999999. you then enter Warcraft again and open you save game and VOILA! you gold is now 9999999999999. It was really helpful, and since I am playing alot of old games again recently, I would like to find it again. does any one know of this file, and where to find it now days.

On a seperate note, could a program like this be used for Illegal purposes, eg edit my bank account. Obviously I would not do this but am curious, as it was SOOO easy to hack games.

Thanks193.115.175.247 16:06, 18 October 2007 (UTC)[reply]

Second question...Technically yes. Of course there is encryption/firewall/security measures/logging etc. going on in bank's websites so it would be infinitely harder than hacking an old-game's save-file and updating the record that holds the gold value. In principle, however, it would probably work on the same basis, both will have a record specific to that thing (gold-value or bank-balance) that could be altered if one could find a way through the security measures. They may do one (all, some or none) of the following...track changes made, have multi-versions of the figure that require simultaneous updates or an 'alarm' is raised, encrypt data at great levels of encryption (128bit? I forget), protection to prevent individuals getting to the point where they could start decrypting the info etc. etc. etc. ny156uk 16:39, 18 October 2007 (UTC)[reply]
Correct... but only if you actually were able to run a memory editor with root priviliges to be able to access another program's memory. In this case you might as well just use existing tools at the bank's disposal to change the value, since presumably you'd have access. But it won't happen- obviously these things are guarded.. mostly with guns, but also I would assume world-class computer security. Also I doubt it's anywhere near that simple- I'm sure there's no one shell access you could get to be able to change a bank balance- the value is probably shuffled around through a dozen servers and encrypted and mirrored at other banks.. not to mention logging. I wouldn't be surprised if there was a physical printer somewhere pouring out records just to be sure that a hacker can't delete logs to cover his tracks. This is the theft of money, the worst crime imaginable in America, they're going to guard it very well. Basically, using a memory editor is probably the most stupidest method possible for attempting to change a bank balance, and even the smartest methods would be essentially impossible to pull off --ffroth 22:57, 18 October 2007 (UTC)[reply]
What you are probably looking for is a type of Hex editor. Note that this sort of thing would only work if the data is stored in the clear, i.e. not encrypted or in a format that is not transparently obvious. --24.147.86.187 19:06, 18 October 2007 (UTC)[reply]

Windows[edit]

Sorry to inundate yopu with questions but...If I loose my windows cd and licence ect, is it legal for me to use my friends disk to reinstall windows. I have bought a copy legally, but it has now gone walkabout. do I NEED to buy a new copy or can I download XP from some where, or just use a friends. thankx 193.115.175.247 16:10, 18 October 2007 (UTC)[reply]

You can speak with Microsoft who will issue you a new license key if you can prove you own a copy. What disk you install from isn't important, but the 'key' you use is. From a morality point of view i'd say that what you're doing is perfectly moral (though it could be argued otherwise), but from Microsoft's point of view you need a valid license key and unless you have one of those they'll consider the product invalid. ny156uk 16:33, 18 October 2007 (UTC)[reply]
Also, you can't use "Some guy on Wikipedia said..." as an excuse if you end up in court. -- kainaw 19:22, 18 October 2007 (UTC)[reply]
If you have the licence code - Microsoft will sell you a replacement disk for $35. I believe that if you have the license code, you can use your friend's disk to install the software using your license code...I don't know whether that's legal or not - but I very much doubt anyone will ever know or care. HOWEVER, if you don't have the license code - maybe you can prove that you owned a legitimate copy - but I very much doubt it. The odds are very good that you're screwed...no matter what. Anything you beg, borrow, steal or download will require a license code and if you use the same one that someone else is using - you're in deep trouble and there is every chance that some Microsoft widget will figure this out, alert Micro$oft HQ and shut down your machine. Don't do that! Losing your license key is exactly the same as losing a $100 bill or a $100 wristwatch - you carelessly lost something valuable - and you have to suffer the cost of replacing it. When I have a license key like that, I photocopy it and tape it to the inside of my computer case! This has saved me more times than I can remember! (Although I now run Linux and license codes are a mere memory these days.) SteveBaker 19:52, 18 October 2007 (UTC)[reply]

Wanted: a data structure[edit]

I'm looking for a data structure that's sort of a queue with hash-table-like properties. I need to be able to efficiently add items to the end of the queue, remove items from the front of the queue, and determine if an item is in the queue. It also needs to be suitable for implementation on a disk, so extensive pointer chasing is a Very Bad Thing. --Carnildo 17:42, 18 October 2007 (UTC)[reply]

What do you mean by "implementation on a disk"? This is a very difficult question for me. A queue can do insertion and removal in O(1) time but finding an item will take O(n) time. A binary tree should be able to do all of them in O(log n) time. This is of course assuming a well-balanced tree, if it degenerates then it will take O(n) time. A red-black tree might be of more help but unfortunately the only thing I can remember about them is that they are more complex than binary trees and this is somehow supposed to make them more efficient. JIP | Talk 18:01, 18 October 2007 (UTC)[reply]
By "implementation on a disk", I mean that there's too much data to fit in the available memory, and the program will only read in pieces as needed. I know a binary tree can do the insert, lookup, and remove operations in the specified time, but I don't believe it does so in a way that maintains ordering -- and binary trees on disk are generally very inefficient, requiring many seek operations to find a given piece of data. --Carnildo 18:13, 18 October 2007 (UTC)[reply]
You can maintain ordering in a binary tree by extending it to also include pointers to the next and previous items. Upon insertion and removal, just handle them like you would do in a normal queue. I can't help you with the inefficieny on disk though. JIP | Talk 18:32, 18 October 2007 (UTC)[reply]
I think you'd be best off with a combination of datastructures here. You can use a hashset for the lookups (which allows O(1)-ish addition, lookup and removal). Then you can use a linked list for traversal. This gives you O(1) popping and pushing, and removal of the start and end nodes. The only problem is if you want to remove something from the middle of the list (by identity or by index). You can do this in O(1) as well, but I don't want to complicate things for now. If you are working with harddisk sized structures, you may want to switch to a tree to save space, which would give you O(logn) for lookups, addition and removal (although you can still get O(1) for the start and end nodes). I think that all data structures can be translated from memory to the hard disk, and I'm sure that at least the hashset, linked list and various trees are available in libraries for your language of choice. risk 19:28, 18 October 2007 (UTC)[reply]
All data structures can be translated from memory to disk. Very few data structures can be translated efficiently from memory to disk. The linked list you suggested is one that translates extremely badly: the 100,000 pointer lookups needed to traverse a medium-sized list might take a couple milliseconds in memory, but on disk, could easily take fifteen minutes. As a rule of thumb, the closer something is to having the memory layout of an array, the better it performs on disk. --Carnildo 19:51, 18 October 2007 (UTC)[reply]
I see what you mean. Of course this only becomes a factor when you have so many objects that you need to use the disk, rather than having objects that are so large, that the disk needs to be used (in the latter case, you can store the objects on disk and keep the index in memory). I expect you know that already, but just in case. Anyway, in that case, you can replace the linked list by a vector. If you implement it based on a circular array, you can do pushing and popping in O(1), and you can link it to the hashset/tree to do lookups in about O(1). risk 20:41, 18 October 2007 (UTC)[reply]
Also, of course the linked list would be bad for lookups (that's true in memory as well). That's why you use the hashtable for lookups. The only function of the linked list is that when you remove the head of the list, you know in O(1) what the next head of the list is (no matter how often you pop). If you store the nodes of the linked list in the hashset (by the hash of the object they contain), then you can even do removal and insertion based on equality in O(1). The only thing this doesn't allow is lookups by index. risk 20:48, 18 October 2007 (UTC)[reply]
I just realized I misread your post. You want objects stored in order in memory (ie. on disk), so you can read them sequentially instead of random access, which would make a big difference in a hard disk, you're right. That means the linked list is out (although you didn't mention you needed efficient iteration as well). Anyway, see my earlier post about the vector). risk 20:53, 18 October 2007 (UTC)[reply]
Any binary search tree maintains ordering by definition. As for larger-than-core data sets, it sounds like you want a B-tree (or one of its variants). Am I right? --Tardis 19:30, 18 October 2007 (UTC)[reply]
A binary search tree maintains items in order by key, but does not maintain insertion order. For my application, insertion order is critical. Ordering by key is simply helpful in that it makes seeing if an item is already in the queue faster. Using insertion order as the key would maintain insertion order, but then finding an item requires a full traversal of the tree -- exactly the situation I'm trying to avoid. --Carnildo 19:51, 18 October 2007 (UTC)[reply]
I think I'd just use a hash table - and make a separate queue of pointers into the hash table. That requires that you do two disk fetches to pull an item off the queue and adds some grief to adding items to the queue too - but compared to the amount of nonsense involved in maintaining a hash table on disk, it's not really too terrible. If that extra access is terrible - then just cache the front end of the queue in RAM. Even if you are desperately short of memory, you can keep the next (say) thousand pointers in the queue in RAM - so now you have just the cost of accessing the hash table and (once in every thousand accesses) grabbing another block of entries off the front of the queue. —Preceding unsigned comment added by SteveBaker (talkcontribs) 19:40, 18 October 2007 (UTC)[reply]
Yes, I think this would work, but you'd have to be fairly careful when programming it to make sure that both the queue and the hashtable is synched-up and contains the same elements. As I understand it there are three operations that you want to do: popping, pushing and lookup. This is basically what you would need to do, for each operation:
  1. Pushing
    • Push down item on queue
    • Add item to hashtable
  2. Popping
    • Pop the item from queue
    • Remove item from hashtable
  3. Lookup
    • Looking up item from hashtable
These are all O(1), IIRC (amortized for the hashtables). Because you are going to do all that removing from the hashtable, you probably want to use chaining instead of open addressing, although that might not be suitable if it's going to be stored on a disk that doesn't do dynamic allocation and random access of memory all that well. --Oskar 20:59, 18 October 2007 (UTC)[reply]
Carnildo, I strongly suggest you take a look at Berkeley DB. It gives you an on-disk hash storage, with the problem of what to keep in memory handled by the system. You should be able to do the queue behaviour as a secondary database using the "queue" access method (what other database systems would call an "index"). Don't be put off by the "database"; it's a long way from MySQL, but rather a low-level hash based storage engine, where you do more of the heavy lifting than you'd do in SQL but rather less than you would if you were manually hauling/memmapping data in and out of core yourself. Sadly (and perhaps unsurprisingly) the Wikipedia article spends three times longer waffling on about details of its licence than actually telling you anything worthwhile, so take a look at Oracle's "getting started" guide here. -- Finlay McWalter | Talk 22:09, 18 October 2007 (UTC)[reply]
Looks good. I'd been ignoring it (and MySQL, and GDBM) because databases generally don't do "queue" very efficiently. --Carnildo 22:29, 18 October 2007 (UTC)[reply]
BDB really shouldn't be called a "database" at all (and anyone hoping to simply migrate from a R-DBMS is in for a mind expanding paradigm shift), but rather a "storage engine". It's pretty darn fast in general ('though I've not done much with queues to affirm they're as swifty). -- Finlay McWalter | Talk 22:37, 18 October 2007 (UTC)[reply]
...and it has transactions, so the problem of keeping the two stores in sync is pretty trivial. -- Finlay McWalter | Talk 22:19, 18 October 2007 (UTC)[reply]

Perhaps Hadoop has the data structures/algorithms you're looking for. They talk about handling petabytes in a distributed environment, so I'm guessing they've dealt with the memory/harddisk gap thoroughly. It was originally constructed for a search engine index, which usually means a b-tree basis, I think. risk 23:31, 18 October 2007 (UTC)[reply]

Remapping MS Office Keyboard Shortcuts in Mac[edit]

I'd like to move to Mac as my primary operating system but the single thing holding me back is the difference in keyboard shortcuts for MS-Office apps versus Windows. For instance, I've been using Excel for many years on a Windows machine and use shortcuts like F2 (to toggle into the cell) and F4 (to absolute value references) and CTRL+PG UP/DOWN to navigate between worksheets. There are tons more.

I've looked long and hard and no one seems to have a great solution short of re-training myself. While feasible, most workplaces where I use Excel have Windows machines. I've also tried remapping the shortcuts within the program itself but several key ones can't be changed. I've also considered having bootcamp and toggling between two operating systems but that can be a pain to reboot. Another potential solution could be to run a virtual operating system (e.g., VM Ware software) to have a Windows window running Excel within the Mac environment but I imagine this isn't ideal.

Is there an easier solution I'm not thinking about here? Browser411 21:48, 18 October 2007 (UTC)[reply]

Well, if you have a pretty fast machine (i.e. 2GhZ MacBook), virtual machines (i.e. Parallels) work pretty well though it's a little silly to get a Mac if you are planning to do all your work in Windows. Unfortunately the Mac versions of Office are in many ways pretty different than the Windows versions (at the moment—maybe the new versions coming out in not too long will change that); hot-keys are probably the least of the differences. I know this sounds a whole lot like the "re-training" line, but I bet you'd be surprised at how quickly your hands learn the new keys once you start using them on a regular basis. --24.147.86.187 23:33, 18 October 2007 (UTC)[reply]
Parallels sounds promising--would it be noticably slower than running under the native OS? I sometimes work w/lot of spreadsheet calculations. I probably do about 20-30% of my work in MS Office apps... To clarify why I want to move, I really like the hardware cohesiveness, UI, security of Mac OS as well its proprietary programs (e.g., Final Cut). Also, since we don't use Macs at work, it would require constant switching rather than re-training. In my searching, this seems to be a stumbling block for a small but vociferous bunch of folks fed up with Windows otherwise. Browser411 01:24, 19 October 2007 (UTC)[reply]
Don't do it!! I'm just kidding, deciding what operating system you like best is a very personal decision that you make on your own. I work in a Mac environment but go home to an XP/ubuntu network. I do get a little confused with keyboard shortcuts, but you pick it up pretty quickly. What I absolutely can't get past is that they still put out laptops with a single mouse button. Look into a Linux/OpenOffice setup as an alternative to MacOS (its what all the cool kids are doing). Man It's So Loud In Here 17:21, 19 October 2007 (UTC)[reply]

Biologically powered computer[edit]

I hooked my computer up to a cactus to try to use the ichthyothermal energy produced inside. It very briefly turned on and then froze. I think it was a power surge, but I don't know anything about electronics. Help. —Preceding unsigned comment added by 71.175.118.87 (talk) 23:38, 18 October 2007 (UTC)[reply]

Wouldn't ichthyothermal energy come from fish? -- JSBillings 23:54, 18 October 2007 (UTC)[reply]
Hmm, well how exactly did you hook it up? Did you just put the plug right into the cactus? --ffroth 00:01, 19 October 2007 (UTC)[reply]
B.S. on all fronts. --24.147.86.187 02:01, 19 October 2007 (UTC)[reply]
Probably, the OP is thinking of a Galvanic cell - something like a Lemon battery. There is no way that there is enough energy in a cactus to power a computer. There is no possibility that it even briefly turned on. I get ZERO hits for ichthyothermal on Google. I too call "Bullshit". SteveBaker 10:52, 19 October 2007 (UTC)[reply]
No, not from a cactus, but any internal batteries or capacitors may have given a brief jolt. I call shenanigans. (I have no problem with calling bullshit, I just love the word shenanigan). Do however look at Cactus#Uses, shame to waste a perfectly good cactus. Lanfear's Bane | t 12:21, 19 October 2007 (UTC)[reply]
Careful - 'tis but a small step from there to malarky - and there, I'm afraid, we have to draw the line. SteveBaker 19:33, 19 October 2007 (UTC)[reply]