Wikipedia:Reference desk/Archives/Computing/2007 November 10

= November 10 =

Buffering/streeming
Heloooo, when trying to watch videos online such as you tube, is there a way to speed up the buffering process so that you can watch it smoothly, this becomes a greater problem, the greater the file one wishes to watch. Thanks in advance. Dough —Preceding unsigned comment added by 82.3.149.242 (talk) 01:08, 10 November 2007 (UTC)
 * Just pause the video and allow it to buffer for awhile before you hit Play -- ⁪ffroth 02:54, 10 November 2007 (UTC)

writing one's own implementation of JRE/JAVA Virtual Machine
How complicated would it be for one individual (ie me) to write a simple JRE? I want to write a basic Java virtual machine, just for fun, to better understand how it works. Is this a monumental task that is way beyond me (with no formal training in computer programming) or is it in theory possible? --Duomillia 02:41, 10 November 2007 (UTC)
 * Well you certainly don't need formal training to undertake monumental programming tasks, but yes I'd say implenting a JRE would be a monumental task. Try implementing BASIC, or taking a microprocessors class at your local college and writing a C compiler -- ⁪ffroth 02:55, 10 November 2007 (UTC)


 * Writing a complete, correct, performant JRE is indeed a giant task. But writing a basic one that runs a few unexciting Java programs is fairly straightforward, and will indeed be very educational.  The important tasks are:
 * the fundamental class loader - you read in .class files, parse them, perform name resolution, and build the corresponding in-memory structures that represent the loaded class
 * the bytecode interpreter - you implement a simple stack machine that interprets the java bytecodes and maintains the state for each running thread. You'll need to implement many, but not all, the opcodes before a basic program will run; most of the opcodes do pretty elementary things that will translate to only a few lines of C
 * the allocator and the garbage collector - writing a basic allocator isn't very hard, and a simple mark-and-sweep garbage collector doesn't need to much theory (the hardest thing is making sure you keep tabs of native roots)
 * the native interface - you'll need some kind of basic handling of what happens when the invokeXXX opcodes call a native method, and how native code can access java types stored in the allocator. If you implement call and return only then you can get quite a lot done.  If you're just doing a simple implementation than don't try to ape JNI.
 * a basic class library - to simple println you end up loading a couple of dozen classes at least; you'll be able to stub most of them and fill them out as needed.


 * You could, if you wanted, get some of this off the shelf (lots of GC and alloc solutions to be found, and the Classpath project gives you a nearly complete library) but if your goal is to educate and entertain yourself (and to do no work to support features you'd like to defer implementing) then do them yourself.


 * There are some hard tasks, which you can (and should) avoid:
 * JIT/hotspot-like native execution - it's not that hard (for a static translation at least) but there's a _lot_ of heavy lifting to do and you need to know your machine architecture exceedingly well
 * a really good alloc/GC - making these efficient (without the nasty everything-stops-for-gc pause) is pretty hard
 * the bytecode verifier - this is the one thing that is a proper hardcore computer-science problem; it's an automated system that proves a set of (rather arcane) theories about each bytecode program. Implementing this needs a bunch of machine state theory and type theory, which is real tough stuff to get right.  Sun doesn't trust its licencees to implement this, no matter how many Ph.Ds they wave around, and forces even those who implement everything else themselves to use the Sun verifier (which has been pored over greatly, and verified against more formal models).  Read this and weep.


 * Implementing a functional, if basic, JVM is within the scope of a final-year CS undergrad or maybe masters project. It's certainly a big and challenging programming problem, but if you avoid the "hard tasks" listed above then it's a matter of programming rather than computer science. -- Finlay McWalter | Talk 11:40, 10 November 2007 (UTC)

windows xp security
i have windows xp. other users use my computer because i let them however a user has decided to be shall we say scandilous and decietful. so as not to encumber myself and other shall we say moderate and friendly users is it possible to retrieve other peoples passwords that have been used on my specific computer to ally fear and repair damage and willful sabotage caused by this user —Preceding unsigned comment added by Montty (talk • contribs) 06:02, 10 November 2007 (UTC)
 * I don't think you can crack their password. If it is your computer, just tell them they can't use it any more.  If however it is a shared computer, perhaps at school, and is only yours because it is the one you usually use, then there's nothing much you can do.  Astronaut 14:39, 10 November 2007 (UTC)
 * If you will confirm that it's your home computer, I can tell you how to recover the account passwords (it's not possible on a domain login anyway). -- ⁪ffroth 14:43, 10 November 2007 (UTC)
 * I don't understand from your post why you want to retrieve any passwords at all. If this user has a user account and you do not want him/her to use it, then just delete it or something. If this user has changed other users' passwords, then just reset them to new ones. --Spoon! 10:00, 11 November 2007 (UTC)
 * It's hard to imagine any legitimate reason for someone to want to do this - I suspect the OP's motives are not entirely as described. If this is genuine then the OP has the admin account and can remove the files from the miscreant's account to a backup disk then simply erase the account.  There is no need to extract passwords. SteveBaker 17:58, 11 November 2007 (UTC)
 * At the same time, if it's really his personal computer he certainly has the right to find the passwords of and use other users' accounts without their knowledge if he wants to. But it does sound fishy. OP, do you know that you can just remove the passwords of other users from the User Accounts applet in the control panel? If you want to log on as that scandalous user, just remove his password- you don't need to know it unless he's continuing to use your computer and for some reason you don't want to clue him in that you're on to him or something -- ⁪ffroth 18:51, 11 November 2007 (UTC)
 * There are also hardware keyloggers, or you can even make one yourself (looks very interesting). --antilivedT 23:07, 12 November 2007 (UTC)

Posting GFDL photo from wikipedia to facebook
Am I allowed to post photo taken from wikipedia that has GFDL license into facebook? Thanks for the answer. roscoe_x 10:43, 10 November 2007 (UTC)
 * You can certainly copy the picture from wikipedia if it has that kind of license. I don't know about facebook restrictions though. Graeme Bartlett 11:20, 10 November 2007 (UTC)

If I were you, I would specify that the image is licensed under GFDL and link back to the license in the description of the photoor as a comment. But let me remind you of. Thanks. --Kushalt 20:08, 10 November 2007 (UTC)


 * You may consider asking this question also at Media Copyright Questions Guroadrunner 05:10, 15 November 2007 (UTC)

Modifications
Do game mods work when the game they're made for comes on a single disk with other games? Ie. Will mods for Command and conquer generals work in the first decade version? Thanks--Phoenix-wiki (talk · contribs) 21:29, 10 November 2007 (UTC)

IF they are different games, no. THey have different code structure, and different units in the game. —Preceding unsigned comment added by 71.195.124.101 (talk) 05:29, 11 November 2007 (UTC) Command and Conquer First Decade is collection of all the command and conquer games bar CnC3, and each game on the disk is simply the latest version of that particular game (latest when the disk was printed) but with the exe slightly modified to check for the First Decade disk instead of the original disk. Therefor Generals mods work fine, as do mods for all the other command and conquer games (if they are designed for that version). With other collections it depends, but if it allows you to install individual games instead of all at once you are probably fine. TheGreatZorko 10:13, 16 November 2007 (UTC)