Wikipedia:Reference desk/Archives/Computing/2009 August 4

Computing desk
< August 3 << Jul | August | Sep >> August 5 >
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.


August 4 edit

web host edit

If I created a website with a database and all, where would I find a server to host it? 202.124.189.196 (talk) 11:11, 4 August 2009 (UTC)[reply]

Just Google web host and you'll find literally thousands of companies that will do this. You just need to know what features/space/traffic you'll need (or a rough idea) and how much you're willing to pay per month. ZX81 talk 13:39, 4 August 2009 (UTC)[reply]
You also need to ensure that the web host supports whatever script you used for your website and the database platform you used. In general, the extremely cheap (even free) ones will not support anything useful. Like everything else in the world, you get what you pay for. -- kainaw 15:46, 4 August 2009 (UTC)[reply]
Though the $9/mo. range (e.g. dreamhost, bluehost, etc.) should support any of the really common open source ones (like MySQL or postgresql). If you need something proprietary (like MS SQL Server) that will probably cost more. --98.217.14.211 (talk) 17:46, 4 August 2009 (UTC)[reply]
There seems to be many free web hosts out there. I found that many offer PHP and MySQL support, but very few indeed offer .NET and MS SQL Server. If you are willing to pay, then the situation is much easier. Astronaut (talk) 10:09, 6 August 2009 (UTC)[reply]

Passing all ascii characters as a parameter edit

Hi. I'm debugging a program and I've found that it passes the whole ASCII character string, that is "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/-" as a parameter to some function. Why would a program do that? --Georgeascii (talk) 14:47, 4 August 2009 (UTC)[reply]

We'd have to see the program to know, really. Maybe it's a lookup table to translate from ASCII to some other format (such as the ROM character table of a digital character display). While you can (and often should) to this with character arithmetic (if x>='A' && x <='Z', etc.) some high-performance uses may benefit from a lookup table (which, for example is often how ctype.h macros are implemented). -- Finlay McWalterTalk 14:52, 4 August 2009 (UTC)[reply]
Also, changing a table like "ABC...123..." when you want to modify the (say) valid characters for a name is a lot easier than changing logic like
if (x>='A' &&... || x>='0' &&...)
195.35.160.133 (talk) 15:14, 4 August 2009 (UTC) Martin.[reply]
Do you have the source code for that function? Maybe the best way to find out is to read the source code. (Better yet, if there's documentation for that function...). As you have phrased the question, there is no way we can possibly know what this function does - it could disregard the input, for all we know. It seems likely that it is setting up a list of "acceptable" characters for either display or input, and the programmer chose to manually configure which characters were active with this string. Nimur (talk) 15:37, 4 August 2009 (UTC)[reply]
Doing a Google Code Search for that string turns up many results, such as this function:
char *
basic_strip (char *s)
     /* Returns a pointer to the first character in s that is not
        a special character, or NULL if no such character exists.
        Cf, man strpbrk(). */
{
  return ((char*) strpbrk
          (s,
           "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"));
}
--Sean 17:54, 4 August 2009 (UTC)[reply]
In standard C and C++ the values of the members of the character set are implementation-defined, and not necessarily corresponding to ASCII, provided that all of the above-mentioned characters (and a few more) have distinct, positive values, and the values of the characters 0-9 are consecutive and ascending. Code such as
void f(char c) {
  if(c > 'a' && c < 'z') 
    ; /* ... */
  
  /* or even */
  c -= 'a'; 
}
is therefore not strictly portable. For this reason it may be desirable to maintain such a string literal to perform some kind of character aritmetic with predictable results across platforms. But note that the following is guaranteed to be correct, given a character from '0' to '9' as input:
int char2int(char c) {
  return c - '0';  
}
Regards, decltype (talk) 22:34, 4 August 2009 (UTC)[reply]
Yes, what I find odd is the "+-/" at the end of the string - out of curiosity - does this match anything anyone recognises as say 'valid names for variables or files' or something else in a given language?83.100.250.79 (talk) 22:54, 4 August 2009 (UTC)[reply]
Well, without the "-", it would be the normal characters used in Base64. But with that, iono. --131.179.160.144 (talk) 02:02, 5 August 2009 (UTC)[reply]
Thanks must include negative numbers then - I had no idea there was a standard for base64 input. Cheers83.100.250.79 (talk) 12:30, 5 August 2009 (UTC)[reply]
I can think of one place I've done exactly this before - setting up a font in some kind of non-standard character rendering situation (eg drawing text using 3D a object for each letter in a game or something). You might "register" the font with a function by passing the graphics for the font in one parameter - and the list of characters contained in that font in the other. If the program that's using it is (say) displaying someone's name and their current score - then letters, numbers, plus and minus would be the only characters you'd need. But, frankly, this is an impossible question...it could be anything. SteveBaker (talk) 01:01, 6 August 2009 (UTC)[reply]
Here is a link to MSDN's online help page for strpbrk, and the associated wcspbrk and _mbspbrk, functions. Astronaut (talk) 10:05, 6 August 2009 (UTC)[reply]

Shocking stuff... edit

My Dell XPS laptop was purchased by myself this time last year and the warranty has just recently ran out(coincidence or not). It now is making electric zap noises, though the screen does not flicker nor any processes stop. However im rather frightened it will set on fire. I removed and then placed the battery back in but tis had no affect. Any help would be appreciated as everytime it does the electric zap, i am rather worried! Thanks 15:12, 4 August 2009 (UTC)

Faulty electronics can be dangerous - if you really have an arcing power supply, you should stop using the system and have it checked out by a repair shop. Even after warranty, you can still arrange for repair (for a fee). At the very least, you might prevent further catastrophic damage to the system. Dell offers out-of-warranty service starting at $49. Nimur (talk) 15:40, 4 August 2009 (UTC)[reply]
Yes, best advice is to take it in for repair. One thing to note before you rush off to pay $49 to dell, is that some credit cards (American Express I believe is one), offer an extension of original manufacturers warranty for free. Might want to check on that before paying cash. --Zarfol (talk) 16:57, 4 August 2009 (UTC)[reply]


(after edit conflict) If its the manufacturer's fault, they might service it free of cost to you even after your warranty is over. If I were you, I would investigate further on the issue. Talk to the place who sold you the computer and also look for further information on Dell's website. If it is not an isolated incident, Dell may call it back. I would say that backing up your most valuable data (only if possible) and talking to your manufacturer are the first two things to do. Kushal (talk) 17:01, 4 August 2009 (UTC)[reply]
Be sure that the sound isn't just coming from the speakers. Perhaps something is causing a burst of static? APL (talk) 17:26, 11 August 2009 (UTC)[reply]

WoW addons -- can a malicious one cause your account to get "hacked"? edit

I'm curious about how the World of Warcraft addons work ...

I believe the official line from Blizzard is that it is impossible for an addon to cause your account to get hacked, simply because the addons are not executable files; they're all .lua scripts (I believe) that just modify the interface of the game. However, a guildie whose account was hacked recently claimed that a GM told him that an addon might've been responsible for it. This struck me as being flat-out wrong based on my previous assumption on how they work. So, for you more Computer Sciencey-minded folks out there: is it possible that a World of Warcraft addon could cause one's account to be hacked (that is, compromised by, say, logging the username and password used to login and sending that data to someone)? Again, pretty sure the answer is no, but I'd like to get validation from someone who understands how these things work from a technical side.

Thanks. Dgcopter (talk) 21:28, 4 August 2009 (UTC)[reply]

No, lua scripts are only executed when the user interface is started (that is when the world is loaded). However, a malicious "script updater" that executes outside World of Warcraft might be responsible. As an addon developper myself, I can assure you that lua scripts have no access to that sort of data. -- Luk talk 22:10, 4 August 2009 (UTC)[reply]
That is, unless there was a buffer overflow exploit or similar in the WoW application that allowed a malicious addon to execute arbitrary code. A similar exploit in Warcraft III was recently patched.[1] decltype (talk) 22:43, 4 August 2009 (UTC)[reply]