Wikipedia:Reference desk/Archives/Computing/2008 September 12

From Wikipedia, the free encyclopedia
Computing desk
< September 11 << Aug | September | Oct >> September 13 >
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.


September 12[edit]

64-bit OS compability[edit]

Are most 32 bit DVD ROM computer games able to operate on 64-bit systems like windows vista 64 bit edition.--logger (talk) 00:52, 12 September 2008 (UTC)[reply]

Maybe. Some game use a copy-protection scheme that is basically a driver (SecuROM? Others?). Those kind likely would not work unless you could get a 64-bit version from the copy-protection maker's website. I'm not sure about the likes of SafeDisc (I know of very few DVD-based games that actually use SafeDisc, though). Washii (talk) 02:55, 12 September 2008 (UTC)[reply]
Yes, most will be fine. As stated above, older versions of SecuROM may be an issue, and StarForce is an even bigger one (it will force its driver to install on x64 Vista even if it shouldn't be able to, which you have to watch out for; it obviously won't work, but Windows will complain about having an unsigned driver installed when you try to boot); however, you can download updated versions of these from the company's website so it's not a huge problem. Some games have other minor issues on 64-bit Vista vs. 32-bit Vista for some odd reasons, but I haven't run across any issues personally. 130.179.33.33 (talk) 15:18, 12 September 2008 (UTC)[reply]

mouse[edit]

why does the cursor move when mouse is moved —Preceding unsigned comment added by 59.92.244.6 (talk) 07:19, 12 September 2008 (UTC)[reply]

Because that is the purpose of the computer mouse? What use would the mouse be if it didn't? Or do you mean 'how' does the cursor move? 194.221.133.226 (talk) 09:03, 12 September 2008 (UTC)[reply]
The physical movement of the mouse (around your desk) is converted into the movement of your cursor on the screen, as the computer mouse article describes. The manual for the first Microsoft mouse included instructions for programming this yourself; the unit of distance for mouse movement was (I swear) the "mickey."
Some mice (or their drivers) also have programming so that the faster you move the mouse over a given distance, the further you move the cursor on the screen. --- OtherDave (talk) 10:31, 12 September 2008 (UTC)[reply]
They're still called mickeys: <google search>. -- Finlay McWalter | Talk 10:54, 12 September 2008 (UTC)[reply]
Specifically: Moving the mouse causes a pair of numbers to be transmitted to the computer describing how far it moved in the left/right and up/down directions. As others have pointed out - these numbers are in units called "Mickeys" - and the size of a mickey depends on the sensitivity of your mouse. Precisely how those numbers are arrived at depends on the kind of mouse you have.
  • The old fashioned mice with the ball inside have a pair of rollers that the ball pushes against - as the ball spins, the rollers are rotated and those in turn rotate a pair of disks with little holes cut into them all around. As the disk spins, it interrupts a light beam and the teeny-tiny computer inside the mouse counts the number of times this happens in each direction and turns that into mickeys.
  • Modern "optical" mice actually have an amazingly cheap/tiny camera inside them that looks down at your desk top and takes a picture of it many times a second. When you move the mouse a small amount, the next picture is shifted a bit to one side compared to the previous one - and by figuring out how much it has to move the next picture to line up with the previous one, it knows how far the mouse moved. This is why your mouse doesn't work on really smooth, uniformly colored surfaces...the pictures are all the same color all over! The red LED underneath the mouse just provides enough light for the camera to see by (it's pretty dark under your mouse otherwise).
The mickey data is sent along with the current state of the mouse's buttons and scroll wheel(s) to the computer either down a wire or over an infra-red or short-range radio link into some circuitry inside the computer proper - where it can be read by the operating system software. The windowing system knows where the cursor is pointing at right now - and when the mouse says it moved (such-and-such number of mickey's to the left or right and such and such upwards or downwards), the software simply adds those numbers to the last position the cursor was at to get the new position. If you change the mouse's sensitivity - then it may multiply or divide the number of mickeys by some number to convert it into pixels on the screen.
The cursor can be drawn in one of two ways - it can just be rendered as graphics onto the screen (a "soft cursor") or the graphics chip may have special cursor-drawing hardware that can render a cursor at a specific place on the screen that the operating system can change.
Application programs can also tell the operating system to move the cursor (typically used to "jump" it into a dialog box it just popped up or something) - this is called "warping the mouse" and it's generally frowned upon by user interface experts. Programs can also load up different cursor shapes and tell the operating system what shape to use in which parts of the screen.
SteveBaker (talk) 03:16, 16 September 2008 (UTC)[reply]

IE 6 vs. 5[edit]

'sup, bud.

I have a legacy computer running Windows 2000. I updated it as much as possible, installing Internet Explorer 6 SP1 and making Firefox 3 the default browser. However, PC World´s "25 Worst Tech Products of All Time" says that any browser is better than IE 6 ... So, does that mean that I should uninstall IE 6 and replace it with the default IE 5? I ask because viruses -- even if they don't arrive through the browser -- usually attack IE. In terms of security, which is better?--Welcome Home Cover 56 (talk) 10:58, 12 September 2008 (UTC)[reply]

IE6 is better than IE5, but why are you using such an old IE? Does IE7 not run on Win2K? Even that has security vulnerabilities.
If you have FF3 you don't need IE at all. - Phydaux (talk) 12:33, 12 September 2008 (UTC)[reply]
And if you have IE7 you don't need FF at all. Hey, i can do it to, absolutely nothing todo with what the original poster was asking but I forced my misguided and childish opinion into the debate too! On topic, in terms of security, a fully patched IE6 is definetly more secure, and usefully, standards compliant than IE5. You don't have anything to worry about that you wouldn't with any other Browser. - Jimmi Hugh (talk) 12:49, 12 September 2008 (UTC)[reply]
It's not childish or useless to point out to the OP that, since they have already chosen FF3 as their default browser, they don't actually need to worry about IE updates, or about IE at all. Algebraist 12:55, 12 September 2008 (UTC)[reply]
Many 3rd party programs were written depending on features installed with IE, so un-installing IE will break them. (I don't know your setup, so ???)
MS update only works with IE. Also some website only work with IE (the websites are broken, not the other browsers).
Keep IE6, it works fine and you might need it some time. Use FF3 'cause if you're a MS corporate drone you sound silly when you say "'sup, bud". Saintrain (talk) 14:02, 12 September 2008 (UTC)[reply]
'Sup, bud. I'd install IE 7, but MS says it doesn't work in Win 2k. I primarily use IE 7 on my XP box because developers design their sites to look good inside of IE. (The Win 2k setup is for a friend.) I hear IE 6 is less secure than IE 7. Site layouts also seem to get broken more often inside of IE 6 than IE 7. I just have bad memories of viruses displaying pop-ups even when I wasn't using IE. They would install ActiveX plugins into IE, even though the virus entered the computer as a malicious EXE, for example. But, as Jimmi mentioned, IE 6 is better than 5, so I'll just stick with that along with FF 3. Thanks, guys! (Especially Jimmi and Phydaux.)--Welcome Home Cover 56 (talk) 03:06, 13 September 2008 (UTC)[reply]
A little nitpick: good designers design their sites to look good inside standards compliant browsers, and spend sleepless nights trying to fix it to work with the quirks and incompatibilities of IE6. Microsoft is now experiencing the consequence of their failed EEE tactic, needing to include 3 different rendering modes for their Internet Explorer 8 just to keep those tag soup IE only websites working. --antilivedT | C | G 04:27, 13 September 2008 (UTC)[reply]

Monetize open source software development[edit]

Besides consulting and web-ads, what other ways of monetizing OS software are there? Mr.K. (talk) 11:52, 12 September 2008 (UTC)[reply]

There's:
  • Hosting - say you write an open-source timesheet-management program: your customers could download it and run it on their own servers, but you can offer them hosted service where you set it up and configure it for their requirements, host it on your (enterprise grade, redundant) servers in a secure data centre, and take care of stuff like security and backups for them.
  • Hardware - you could be developing firmware for an embedded device like a storage array or a network device (like a firewall or entireprise spam filter). By using open-source software you can get a lot of the basic stuff done fast, but you retain your advantage because much of your business's value-add is the hardware, which you own.
  • Ancillary products - e.g. you write an open-source database which grabs some of Oracle's market, then you sell add-ons like backup systems and management programs and additional storage providers. The degree to which you can do this is contingent on the open-source or free-software licence you choose, and the kind of linking you employ.
And remember that with most OS/FS licences you can make money from your and others' OS/FS software by offering them as a web-service you can make changes and not release those changes back to the originating products (as you're allowing access to the software but not disseminating the software itself. That's largely how Google does things, and is something that licences like the Affero General Public License are designed to prevent. -- Finlay McWalter | Talk 12:19, 12 September 2008 (UTC)[reply]
  • Money and Source status are completely separate issues, and there are many many situations in which open source software is sold. Whether or not you choose to release the source code for a product has no bearing on the commerical, monetary or "moral" aspects of the software. - Jimmi Hugh (talk) 12:45, 12 September 2008 (UTC)[reply]
Well, let's not pretend it doesn't have some bearing from a practical standpoint. Obviously if I can download the code for free and compile it myself (or someone can download it, compile it, and have the binaries available to download), I don't necessarily need to pay you for it the same way I would proprietary software. --98.217.8.46 (talk) 14:52, 12 September 2008 (UTC)[reply]
True, but you won't get any enterprise-level support, unless you pay a separate fee. That is basically how RHEL works. They build you their core system, and for buckets'o'money they will keep those systems running, and even work on patches to make those systems perform better (to a certain extent). Washii (talk) 16:50, 12 September 2008 (UTC)[reply]
Right but how many people actually use "enterprise-level support"? I mean, I don't even use that on the proprietary software I have. I'm just saying, your ordinary consumer is not going to pay for something they can get for free. --98.217.8.46 (talk) 22:12, 12 September 2008 (UTC)[reply]
Actually... it depends first upon the license. If we accept that the terms Open Source and Proprietary Source are more than the definitions as controlled by the FSF and OSI respectively (the argument people here used to keep the Proprietary Software article when I wanted to move it,) then we can't stipulate about any single license. More Importantly, correct me if i'm wrong but doesn't the GPL say that the only people who are required to have the source distributed to them are people who correctly gained the binaries? So companies can very easily limit it, the consumers ability to then pass on their own modified source code aside. So actually, it doesn't have any bearing unless you just want to make up arguments why Open Source is better than Closed Source. I don't have an opinion either way because it's silly to think about outside to context of each individual product, and i've released as many open source tools as I have closed source. More importantly though, proprietary products can be open source. It may be a shock to find out the opinions you're copying, without having ever considered them, are wrong, but look up the word proprietary, and you'll see that there is no justification for the idea that a proprietary piece of software cannot also be open source. - Jimmi Hugh (talk) 17:07, 12 September 2008 (UTC)[reply]
"correct me if i'm wrong but doesn't the GPL say that the only people who are required to have the source distributed to them are people who correctly gained the binaries?" That really only helps if you're making a web application. Once you've actually given someone the code they can redistribute it to their heart's content. APL (talk) 18:32, 12 September 2008 (UTC)[reply]
Exactly as i said immediately after that quote... however in terms of open source, as opposed to "free" software, that doesn't have to be entirely true either. - Jimmi Hugh (talk) 21:02, 12 September 2008 (UTC)[reply]
Well, right, I was simplifying things a bit by using open source to refer to free software primarily, though I'm well aware there is proprietary open source. Assuming the OP was talking about free software, then it definitely puts bounds on the practical moneymaking opportunities. If you just mean it as a business model, it still can have some practical implications, though for most people compiling binaries is more difficult than just pirating the thing from a torrent. --98.217.8.46 (talk) 22:12, 12 September 2008 (UTC)[reply]

Help with source code and compiling (bash)[edit]

I am trying to modify some source code for a .deb package of flash plugin. That .deb package is a metapackage that dowloads and install the flash player, and what I wanted to do was to modify it/compile it so I would already include the "full" flash installer (for offline use), so my questions are:

  • Do I need to modify the source code? (It already contains references to "flashplugin-nonfree/local", so it seems to be looking for a local file...)
  • If I need to modify it, what exactly to I need to do?
  • Then, how do I then compile it, including the full flash installer? (can I just drop the .tar.gz file in the folder where the source is?)

I found references to "flashplugin-nonfree/local" in 2 files, postinst and config (in case that helps). By the way, I think the language is bash. I hope someone can help me out... Hacktolive (talk) 15:41, 12 September 2008 (UTC)[reply]

What are some words that I could easily type with one hand?[edit]

The word needs to be at least 8 letters long, and all the letters should be very close together on the keyboard.--The Fat Man Who Never Came Back (talk) 15:49, 12 September 2008 (UTC)[reply]

The full chemical name of Titin at 189,819 letters, typing very slowly with one finger. Is that cheating? JessicaThunderbolt 16:12, 12 September 2008 (UTC)[reply]
not helpful.--The Fat Man Who Never Came Back (talk) 23:31, 12 September 2008 (UTC)[reply]
rewarded? 207.58.235.243 (talk) 16:26, 12 September 2008 (UTC)[reply]
helpful.--The Fat Man Who Never Came Back (talk) 23:31, 12 September 2008 (UTC)[reply]
Stewardesses. Zain Ebrahim (talk) 16:32, 12 September 2008 (UTC)[reply]
helpful.--The Fat Man Who Never Came Back (talk) 23:31, 12 September 2008 (UTC)[reply]

Right hand or left? qwerty keyboard? - Lambajan 16:33, 12 September 2008 (UTC)[reply]

at least attempted to be helpful.--The Fat Man Who Never Came Back (talk) 23:31, 12 September 2008 (UTC)[reply]
Here's 280 words you can type with your left hand. (That are >= 8 letters long, with a qwerty keyboard.)APL (talk) 16:36, 12 September 2008 (UTC)[reply]
most helpful of all; You get the prize! (that was a real question, but if anyone would like to hire me to be the Reference Desk mystery shopper, let's talk turkey).--The Fat Man Who Never Came Back (talk) 23:31, 12 September 2008 (UTC)[reply]
Rearward, rearward and REARWARD, Refreeze, refreeze and REFREEZE. I got six left-hand words without even trying, I should get a consolation prize.
And of course, why would one have a need to type 8-letter words with just one hand? You can see where that sort of question might draw unhelpful replies. (and it's OK, we get lots of mystery shoppers here!) :) Franamax (talk) 23:39, 12 September 2008 (UTC)[reply]
Curiously, I'm stumped for right-handers. Plominik? Kopility? ETAOIN SHRDLU is well-distributed across the Qwerty keyboard (by design), but the right side has got me beat right now, and I notice that all the answers so far have been left-side. Franamax (talk) 23:48, 12 September 2008 (UTC)[reply]
The longest I find in Ubuntu's /usr/share/dict/words is "polyphony". It's nowhere near the longest left-handers like "stewardesses" and "aftereffects", which kind of makes sense: there are fewer letters on the right-hand half of the keyboard, and also the two most common vowels and the most common consonant are all on the left-hand side. The full lists, if anyone's interested, are here and here. —Ilmari Karonen (talk) 05:02, 13 September 2008 (UTC)[reply]
Hmmm, if you say there are fewer letters on the right-hand half of the keyboard, my first instinct would be to ask how you define "half". But that brings up a meta-question - why the paucity of useful stuff on the right side? All the punctuation is over there - do we need our (for most people) dominant hand for dots and braces? Qwerty typewriters were designed to slow down the key rate, since the mechanical key escapement only worked so fast and no faster - but am I now seeing an additional lowering of the right-hand typing frequency? Most cunning if so. Franamax (talk) 06:18, 13 September 2008 (UTC)[reply]
QWERTY wasn't actually designed to slow down the key rate. It were designed so that certain commonly used combinations would not conflict with the mechanics of the original machine. See QWERTY. --98.217.8.46 (talk) 17:54, 13 September 2008 (UTC)[reply]

Now we have all we need to log in as the Fat Man :) ... password-entering efficiency is it? Whiskeydog (talk) 01:50, 13 September 2008 (UTC)[reply]

Here's my secret password strategy: you want both hands to be making small motions, almost simultaneously, and in directions where the hand obscures the finger motion. This makes the hardest possible task for anyone watching your keystrokes when you login. For instance, try this "poasl23l" - natural finger movements, very hard to pick up if you're watching for a scoop. Of course, you have to make sure you're typing that at the Password: prompt, if you do it at Login:, you're left pleading with someone to not reveal your ultimate perfect password. :) :( Franamax (talk) 06:18, 13 September 2008 (UTC)[reply]

Serious looking free web-page[edit]

What free hosting provider would you recommend for a self-employed consultant? I thought about Google Pages, but the service was discontinued as Google Sites kicked in. The problem with the latter is that the adresse structure (http://sites.google.com/site/username instead of http://username.googlepages.com) gives the impression that the site is not independent of other similar sites. —Preceding unsigned comment added by Mr.K. (talkcontribs) 17:00, 12 September 2008 (UTC)[reply]

Serious looking and free is rather difficult. A consultant in any serious field (i.e. no motivational, success or intercultural consulting) should be able to pay the (historically) ridiculous low prices of web-hosting and domain register. —Preceding unsigned comment added by 217.12.16.56 (talk) 17:25, 12 September 2008 (UTC)[reply]
I'm a fan of 110MB.com. It has a lot of junk-sites floating around, but all the available upgrades are really quite awesome. Washii (talk) 17:56, 12 September 2008 (UTC)[reply]
I've not actually done this myself, but couldn't you register your own domain and sign up with a redirector? When I clicked on mr-K.com/awesomepage.html, it would get passed on to sites.google.com.site/mr-K as an HTTP GET for awesomepage.html.
I'll chime in with the questions here, does it actually work the way I just said? Franamax (talk) 06:34, 13 September 2008 (UTC)[reply]
Kind of ish. One way of doing this is to register a domain name, then sign up with Google Apps (free), and set up a Google Site that way. Google Apps will give you instructions on setting up a CNAME entry, so when one goes to http://www.yourdomain.com it will pull up the Google site you've created. You will still be paying money for the domain itself, though it's usually only a few dollars per year. There is no way to look professional without spending any money. 24.76.161.28 (talk) 23:48, 15 September 2008 (UTC)[reply]
I strognly agree that you should pay to get proper web hosting - having a page on a 'free' site says to potential employers that your business is so shaky that it can't afford $9.95 per month - so you probably won't be around for long. When they visit your site it'll be laden with adverts - which just screams "Amateur!". They will conclude that you are a not a serious consultant and that you may not stay in business long enough to complete their contract. So find a decent web hosting company (I use and recommend 'dreamhost.com' but there are a gazillion others) - register a nice domainname, set up your web site AND your email address to refer to that domain and build yourself a super-professional-looking web site. You'll get more disk space than you'll ever need - you'll be able to set up things like Wiki's and document control systems (Subversion, for example), forums and blogs - you can also have multiple email addresses ("info@yoursite.com", "abuse@yoursite.com", etc) all sorts of services that'll improve your business and give the impression that you are in this for the long run. SteveBaker (talk) 14:19, 16 September 2008 (UTC)[reply]

Splitting commands in Python[edit]

In Python, is there an easy way to split input like commandline shells do? For example:

  • Input: command arg1 arg2 "a long arg3" arg4 "arg5 \"still arg5" arg6
  • Output:
    • command
    • arg1
    • arg2
    • a long arg3
    • arg4
    • arg5 "still arg5
    • arg6

--grawity 17:55, 12 September 2008 (UTC)[reply]

Here is probably the worst python program ever written -
import sys
s = sys.stdin.readline()

# HACK: change escaped quotes into a magic string that we hope will never arise
s2 =s.replace('\\"', 'COWABUNGA')

# split the command into blocks along " edges - this leaves quoted params
# as the odd elements (HACK: assuming the line doesn't begin with a quoted param)
s3 = s2.split('"')

# HACK: undo the horrible hack above
for i in range(0, len(s3)):
    s3[i] = s3[i].replace('COWABUNGA', '\\"')

# build the final output array
s4 = []
for i in range(0,len(s3)):
    if i%2==0:
        # a bunch of unquoted args, so split 'em out
        for x in s3[i].strip().split(' '):
            s4 += [x]
    else:
        # a quoted arg, so append without splitting
        s4 += [s3[i]]
    
for y in s4:
    print y
but it (kind of ) works. Boy I shoulda used a regexp :) 87.114.18.90 (talk) —Preceding undated comment was added at 19:18, 12 September 2008 (UTC).[reply]
Nah, it's wrong, it doesn't handle escaped escapes properly \\" 87.114.18.90 (talk) 19:22, 12 September 2008 (UTC)[reply]
try:
import sys, shlex
print shlex.split(sys.stdin.readline())
-- Finlay McWalter | Talk 19:55, 12 September 2008 (UTC)[reply]

Website help[edit]

At my current location, I can only access dicionary/reference websites. Like Wikipedia, dictionary.com, books.google.com and even Urban Dictionary. I cannot access any other website outside of these types of websites. Even informative websites like CNN.com. Is there a website that can help me get around this problem? Is there a dummy site that fits the dictionary/reference criteria to help me get around our firewall?--Endlessdan and his problem 18:49, 12 September 2008 (UTC)[reply]

There are several methods. A web proxy would be best but these are probably blocked for you also. Try https://tor-proxy.net/, which uses the SOCKS protocol; but be warned it is very, very slow and unreliable. If you can get into your web browsers proxy settings you can route your traffic through a SOCKS connection, which might bypass the firewall. Personally I recommend Tor which will bypass most firewalls, however you would need to install it on the computer. Do you have administrator rights or is it a restricted workstation? If you're unable to install, can you use USB Flash dives? If so, on an unrestricted computer install Portable Tor onto a USB drive and you should be able to run it on the other computer. Also you'll need Portable Firefox as the computer's web browser will probably not allow you to change the settings. In Firefox change the proxy server in advanced settings to "localhost" and port "8118". JessicaThunderbolt 19:25, 12 September 2008 (UTC)[reply]
Thank you for your response. I am on a restricted station. I tried using a web proxy, but that was a no go. The website you recommended, tor-proxy did not work. I got a 'page cannot be displayed' message. --Endlessdan and his problem 19:38, 12 September 2008 (UTC)[reply]
Can you access Google Translator? If so, try this for CNN - http://translate.google.com/translate?u=http%3A%2F%2Fwww.cnn.com&hl=ar&ie=UTF-8&sl=ar&tl=en Here, I have Arabic to English, though of course CNN.com is not in Arabic. It's already in English, and that's what you get, but indirectly. --Aude (talk) 22:19, 12 September 2008 (UTC)[reply]
Is Coral Content Distribution Network allowed? You can use it just by adding .nyud.net to the website address. Also, try Google cache. — Shinhan < talk > 12:21, 15 September 2008 (UTC)[reply]

Linux recognition of wireless card[edit]

At the suggestion of members of this board, I recently installed Ubuntu to make my system dual boot. However, when I pull up Ubuntu, it's unable to recognize my wireless card. I am currently using a Dell 1505 802.11n, and I cannot find any drivers for Unix. Additionally, I believe Ubuntu may be able to read the network to some degree, because when I installed it, it (incorrectly) reset the time to GMT, indicating it had network access to the time. Any suggestions? Magog the Ogre (talk) 19:49, 12 September 2008 (UTC)[reply]

If you cannot find any native drivers you can always install NDISwrapper and go here to find what windows driver you need. Then install the Win driver with NDISwrapper. Ζρς ι'β' ¡hábleme! 20:04, 12 September 2008 (UTC)[reply]
Try this. --antilivedT | C | G 22:51, 12 September 2008 (UTC)[reply]

QBasic[edit]

In Qbasic, I have

PRINT "The answer is"; firstNumber; +  secondNumber; =

firstNumber and secondNumber are variables. How do you get QBasic to add the two variables? Wiki131wiki (talk) 20:36, 12 September 2008 (UTC)[reply]

PRINT "The answer is"; firstNumber +  secondNumber; =  —Preceding unsigned comment added by 78.86.164.115 (talk) 20:42, 12 September 2008 (UTC)[reply] 
The semicolon in there makes the compiler view the variables as separate, so it has to be removed. I'm not well-versed in QBASIC (I learned with JBASIC, myself), but you could also just have

thirdNumber = firstNumber + secondNumber
PRINT "The answer is "; thirdNumber

That way, you could leave the equation straight out of the text. I'm pretty sure that would work in QBASIC; it would in JBASIC, at any rate. The syntax may need to be played with a bit, but try something along those lines. --Alinnisawest,Dalek Empress (extermination requests here) 20:52, 12 September 2008 (UTC)[reply]
Thanks! Wiki131wiki (talk) 16:35, 13 September 2008 (UTC)[reply]

What should I learn when I outgrow MS Excel?[edit]

In my work, I have to manipulate a lot of data. The datasets are not unusually large and the math involved is rarely anything more complicated than arithmetic. But, I find Excel very limiting and oftentimes I have to piece together convoluted solutions to force Excel to do what I want it to. I end up with lots of formulas such as:

=AVERAGE((INDIRECT("'Normalized mass'!R[8]C["&(COLUMN()/2)&"]", FALSE)):(INDIRECT("'Normalized mass'!R[8]C["&(COLUMN()/2+2)&"]", FALSE)))

or

=SUMIF((INDIRECT(R[6]C[-10]&RC21)):(INDIRECT(R[6]C[-10]&R[1]C21)), ">0")

I can usually make things work, but if there is a mistake or if I want to make a change a month down the road, it can be difficult to go back and figure it out again, because it just looks like gobbledygook. So I think I need to learn a new method for manipulating datasets, but I don't know what that method is. Do I need to learn a programming language? Would something like MATLAB be good for me? Any other ideas for tools I should learn about? ike9898 (talk) 22:02, 12 September 2008 (UTC)[reply]

Python is pretty easy to learn and one generally produces programs that are much more legible than that scary formula. -- Finlay McWalter | Talk 22:45, 12 September 2008 (UTC)[reply]
Excel is extremely limiting. If you are dealing with large datasets and wanting to perform manipulations on them, you probably will want to look into database programming. For example, it is pretty trivial to get Excel data into Microsoft Access, and from there you can pretty easily (with VBScript) perform systematic manipulations of the data that are custom-tailored to your need. Personally I find dealing with data in Access pretty much the bee's knees as long as you don't struggle with trying to creating custom user interfaces (forms, etc.) for all of it (which is where Access at first appears convenient but quickly becomes burdensome).
Just as an example, here is some sample VB code that goes over a given table (the equivalent of an Excel worksheet), extracts the data from certain fields, does something with them, and then outputs everything into a new field:

dim rst as DAO.Recordset
dim runningTotalOfJohns as Integer;
set rst = CurrentDB.OpenRecordset("SELECT * FROM myTable")
while not rst.eof
if rst("name") = "John" then runningTotalOfJohns = runningTotalOfJohns + 1
if rst("name")="John" and rst("birthday")="09/12/2008" then
rst.edit
rst("message")="happy birthday, John!"
rst.update
end if
rst.movenext
wend
rst.close

As you can probably grasp, this gives you a lot more control over dealing with the data and allows you to express your intentions in a much more logical fashion, rather than making dense little lines like in Excel.
There are other database and code solutions other than Access and VBScript (MySQL is a common free database backend, and you can couple it with PHP and other scripting languages, and there is also OpenOffice.org Base, which is supposed to be a free analog to MS Access, but frankly I find it pretty unusable at the moment), I'm just using it as an example. The point is, this seems to me like the graduation you are talking about in regards to dealing with data—something of this sort. --98.217.8.46 (talk) 23:36, 12 September 2008 (UTC)[reply]
I love MATLAB and it's well suited to all sorts of data-manipulation problems. Unfortunately, it's also quite expensive. Even companies that have a clear business case for it can be stingy with licenses (he says, with the cynicism of experience). If you're a student, the situation may be better. There are free programming languages like Octave and R that can do a lot of the same things, but I found the MATLAB IDE a lot nicer to work in, especially for interactively playing around with arrays of data. -- Coneslayer (talk) 01:46, 13 September 2008 (UTC)[reply]
Thank you all for your thoughtful comments! ike9898 (talk) 01:49, 13 September 2008 (UTC)[reply]
Try Stata or SAS. Brusegadi (talk) 09:01, 13 September 2008 (UTC)[reply]
Funny nobody mentioned it, but I would have thought a natural progession from Excel is SQL. This is data manipulation after all, and SQL was designed to work ideally with two-dimensional data. You can of course work with Access, but if you want to stick with Microsoft, go with SQL Server. I'm an Oracle person myself. SQL is just the tip of the iceberg, it should open you up to a whole new world of possibilities... Sandman30s (talk) 09:11, 13 September 2008 (UTC)[reply]
Well, that's what I was getting at. The thing about SQL is (in my opinion) you do better to skip most of the "trying to painfully use SQL to do everything at once" and jump to the "I use SQL as a tool to enhance my programming" which is something a bit different. That reflects my own issues with SQL, though—if you can use basic SQL with a scripting language you can do a million things as once, in a much more comfortable syntax, with only a slight performance hit over doing it all at the same time with raw SQL. --98.217.8.46 (talk) 15:38, 13 September 2008 (UTC)[reply]
If you're happy with Excel's performance but just frustrated with how complicated it gets, I'd suggest sticking with it but writing new functions in VBA rather than by combining existing functions directly in the sheet. You'd be able to develop a system of very general and reusable functions, so that when you looked back over your work, you'd see things like getSumOfNormalizedMasses or whatever and know exactly what they did. You'd still have all the convenience and flexibility of Excel. —Preceding unsigned comment added by 78.86.164.115 (talk) 16:49, 13 September 2008 (UTC)[reply]
The problem is that VBA runs pretty slow under Excel, and trying to use VBA with Excel is usually more trouble than it is worth. It's very poorly integrated with Excel, in my opinion—even doing simple things is very tough. By comparison, in Access, the VBA is extremely well integrated, very straightforward by comparison. --98.217.8.46 (talk) 17:48, 13 September 2008 (UTC)[reply]