Wikipedia:Reference desk/Archives/Computing/2010 March 25

From Wikipedia, the free encyclopedia
Computing desk
< March 24 << Feb | March | Apr >> March 26 >
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.


March 25[edit]

fortran 90[edit]

HOW CAN I WRITE e-m in fortran 90.Supriyochowdhury (talk) 01:26, 25 March 2010 (UTC)[reply]

Try this:
(e**(-m)) * (e-m)
StuRat (talk) 01:49, 25 March 2010 (UTC)[reply]
Assuming that by "e" you mean e (mathematical constant), Fortran provides a function to calculate ex: EXP(x) (in which "x" needs to be a REAL or COMPLEX value and the function returns the same sized result). Also remember that EXP(1.0) will return the actual value of the mathematical constant.
The exponention operator ** can be used for integer exponents, but if you want to work with REAL or COMPLEX values you will need to use the log & exponent method. So on the other hand, if you want to raise some other value by any power, remember that ab ≡ e(ln(a)*b). Fortran provides a function to find the natural logarithm: LOG(x) (in which "x" needs to be a REAL or COMPLEX value and the function returns the same sized result). So, in Fortran you can raise a to the power of b by writing EXP(LOG(a)*b). Astronaut (talk) 02:41, 25 March 2010 (UTC)[reply]

How do I restore minimized windows ?[edit]

Resolved

I'm in Windows 98 (StuRat ducks to avoid insults) and my Menu Bar/Task Bar has gone bye-bye. The obvious thing to do is to reboot, but first I'd like to pop up my minimized windows and save my work. So, how can I do this with keystrokes ? Isn't there a "maximize all" command ? StuRat (talk) 04:17, 25 March 2010 (UTC)[reply]

Does alt-tabbing to them each work? Comet Tuttle (talk) 04:38, 25 March 2010 (UTC)[reply]
If you can pull up Task Manager (using ctrl+alt+del), you can restart explorer.exe from the "Run" menu. Nimur (talk) 06:14, 25 March 2010 (UTC)[reply]
Windows-M is minimize all, and SHIFT-Windows-M maximizes all (I think). Not sure if that worked with win98. Sandman30s (talk) 07:41, 25 March 2010 (UTC)[reply]

Thanks all. Alt-Tab worked, Shift-Windows-M didn't, and the Task Manager under Windows 98 only kills processes or reboots the computer, there's no Run menu there. StuRat (talk) 13:09, 25 March 2010 (UTC)[reply]

(EC) A bit late, but anyway: Just to clarify, you are referring to the task bar? Alt+Tab normally works, but maybe not if explorer.exe is not running. I have never heard of Shift+Win+M, and it does not work in Win 7. Ctrl+Alt+Delete will not allow you to start any programs in Win 9x. (Nimur: have you forgotten the dialog?) I do not remember Win 9x sufficiently well, but I wonder if not Ctrl+Shift+Esc will open the alternative program manager window when the Start Menu is unavailable, in which you do can start explorer.exe. --Andreas Rejbrand (talk) 13:11, 25 March 2010 (UTC)[reply]
(even later) StuRat could have tried restarting Explorer.exe (the program that provides the desktop and menu bar). Win+R should make the "Run..." dialog appear even in Windows 98 and you can restart Explorer from there. Astronaut (talk) 13:36, 25 March 2010 (UTC)[reply]
Yes. But I am not 100 % sure that Win+R will work if not explorer.exe is running... That's why I mentioned the "alternative program manager" window. --Andreas Rejbrand (talk) 13:45, 25 March 2010 (UTC)[reply]

I did mean the Task Bar, and I've now added that to the original Q. Control + Shift + Escape brings up the Start menu, from which I can pick the Run menu, and Win + R takes me directly there. As for restarting Explorer.exe, that's the type of thing that would take down a computer that's already having problems (hence the missing Task Bar), so something I'd want to try only as a last resort. StuRat (talk) 16:15, 25 March 2010 (UTC)[reply]

PDF assistance required[edit]

Resolved

Dear Refdeskers, short and sweet. I require assistance regarding opening two PDF files, which I had obtained from a guy I do projects for. They are here and here. He swore he can open them, I've tried Adobe Reader, Foxit, Evince, PDFedit, GIMP, Inkscape and Google Docs and got nothing. Maybe one of you guys manages to open these two files? These are nothing to worry about, nor are they NSFW (unless industrial laundry machines turn you on). On the other hand I won't be surprised if they really are corrupt. Thanks in advance and cheers! --Ouro (blah blah) 13:38, 25 March 2010 (UTC)[reply]

They look corrupt to me. Indeterminate (talk) 13:49, 25 March 2010 (UTC)[reply]
They are corrupt. I wonder if this is what happened: He emailed them to you. You saved the PDFs from the email. You couldn't open them, so you posted them online. If so... The ones on his end were not corrupt. The corruption came in your attempt to save the files from your email. PDFs have a high tendency to corrupt in email because they take soooo loooong to download when you save them. Most people don't wait and only download a fraction of the PDF to their harddrive. Often, I have to access my mail through the web to force it to do a web-download of the PDF instead of email download. -- kainaw 13:56, 25 March 2010 (UTC)[reply]
Yeah, from glancing at them in hexedit, it looks like they aren't complete. At least, they don't end the same way other PDFs do. Indeterminate (talk) 14:04, 25 March 2010 (UTC)[reply]
Downloaded them from online using three different machines (different OSes and different configurations), and every time they came out corrupted. Downloaded them with a package of other PDFs that didn't get corrupted during download. Thanks for reinforcing my judgement, friends. Cheers!! --Ouro (blah blah) 14:11, 25 March 2010 (UTC)[reply]

The nuts and bolts of quantum computing[edit]

"It can simply compute a whole bunch of answers at once in such a way that the "correct" answer drops out at the end."

Could someone explain this please? I take it that a quantum computer is parallel in some way. Can anyone explain how? 84.13.22.69 (talk) 14:56, 25 March 2010 (UTC)[reply]

I don't know if this is relevant, but meteorologists run many different models on different computers, simultaneously, to predict the weather. They then will give a range of results, such as possible hurricane tracks, based on the summation of all those results. StuRat (talk) 16:18, 25 March 2010 (UTC)[reply]
Have you looked at the quantum computer article? A really oversimplified description: a regular computer has bits that are flipped on or off independently. A quantum computer uses "quantum bits" (qubits) that are not entirely on or off, but that are in a mixed state that describes a generalized probability distribution, set up so that the qubits are not independent but entangled. The system is in a set of superposed states (like the fictional Schroedinger's cat is simultaneously alive and dead) that don't resolve until you observe them with a measurement (one of the big practical obstacles is avoiding doing observations until you're done with the computation, see decoherence). There are then operations you can do on the qubits that alter the probability distribution, so that the most likely observation is the one that expresses the answer to your problem. You then observe the state to get the answer. 66.127.52.47 (talk) 23:11, 25 March 2010 (UTC)[reply]

I had read the article thank you. Having another look at it and its links, then relevant part is Shor's algorithm, and there is an explaination "for the man in the street" in the links at the end which I havnt had time to read yet. I'm still wondering why qbits can do things that are more parallel than what an electron can do, hopefully the pop article will answer that. 84.13.34.56 (talk) 13:38, 26 March 2010 (UTC)[reply]

Here is a great article from Scientific American: The Limits of Quantum Computers. The problem of quantum computing is that we do not know a way to map boolean algebra (which is really the basis of every current programming language and algorithm programming paradigm) into input/output states for quantum mechanical entanglement. In other words - we know that there are ways for quantum states to interfere; we know that we can do certain things to electrons to force their spins to go up or down; we know how to measure the resulting spin based on what we did to the electron. But we do not have a way to represent algorithms in a way that we could apply physical inputs to a set of electrons such that when we measure their spins, the spins encode the answer to our algorithmic query. We do know a way to apply stimuli that encode algorithms as inputs to digital electronics circuits: we use MOSFETs to build inverters and wire them sequentially to represent boolean logic finite state machines; and we read the resulting voltages and decode those voltages back to a logical algorithm result. No equivalent mapping back and forth between logical algorithm description and physical-stimulus/effect-relationships is known for quantum computers.
Shor's algorithm describes the mapping between logical problem description and physical process. Unfortunately, it only represents the mapping for one particular algorithm. Until we have a generalizable way to map any abstract logical description into a set of inputs for a quantum computer, we don't really have a practical way to use them. Nimur (talk) 17:50, 26 March 2010 (UTC)[reply]
84, the parallelism comes from the entanglement between the qubit states. You know how they say that Schroedinger's cat is simultaneously alive and dead? Well, a 100-qubit quantum register is (figuratively) in 2100 states simultaneously, so computations that you do on the register happen on all of those states in parallel. You might also like Aaronson's paper on NP-completeness and physical reality.[1] 66.127.52.47 (talk) 07:15, 27 March 2010 (UTC)[reply]

Thanks, I will read those. If quantum computers will be able to do brute searches easily, then that suggests that truely intelligent AI will come about by raw brute search rather than merely imitating human ways of thinking. If my experience of playing against brute search WZebra reversi is correct, then they will behave in what seems like chaotic and unpredictable ways and be cold and sinister things with an icy heart, including naturally subscribing to Machiavellianism - cue an SF story. 84.13.201.209 (talk) 10:13, 27 March 2010 (UTC)[reply]

Linux filesystem problem?[edit]

On Fedora 12 Linux, I accidentally rewrote the partition table of a new hard drive while I had one of its partitions mounted. I got a nasty-looking error message from fdisk, but then I umounted the partition, and rewrote the partition table again. There was no loss of data because the drive was new and had no data to begin with. But will this cause problems in the future? JIP | Talk 18:15, 25 March 2010 (UTC)[reply]

If it truly has no data and you are worried about future problems, you can umount it, and reformat it. However, if it mounts properly and shows the correct system type and size, I do not see a problem. You can, if you want to, chkdisk to see if it has anything bad on it. But, for the time that will take, I'd just format it. Of course, I completely format all my drives every year. So, I'm not a good example. -- kainaw 18:42, 25 March 2010 (UTC)[reply]
By "rewrote the partition table", do you mean that you re-ran mkfs? I've never heard any reason to believe that mkfs pays attention to the original contents of the partition, so in that case it shouldn't matter what was on it before. Paul Stansifer 12:26, 26 March 2010 (UTC)[reply]
No, I meant I re-ran fdisk. What I did, from the beginning, was that I mounted a partition on the disk, then ran fdisk to modify the partition table, having forgotten I still had a partition mounted. I deleted the partition, created a new one in its place, and saved the changes. At this point fdisk said that changes could not be saved, and the kernel would still use the old table until the next reboot. I then realised I had a partition still mounted, so I umounted it, and ran fdisk again, doing the exact same changes. This time it didn't give an error message. I then ran mkfs on the new partition I had created in fdisk. JIP | Talk 10:02, 27 March 2010 (UTC)[reply]
You just did an fdisk-format. No problem. -- kainaw 01:58, 28 March 2010 (UTC)[reply]

Access 2003 Question[edit]

OK, I know I'm clueless and I'm not very experienced with Access, but can someone please help me with this without trying to explain programming code? I have a database with a list of medical simulation scenarios. Each scenario has mutiple columns with nothing but an 'x' in it. So, scenario 1 has an x in the "Respiratory", "Pulmonary" and "Ecmo" columns, scenario 2 has an x in the "Respiratory", "X-Ray" and "Chart" column, etc. I am trying to set up a form where someone can go in and choose which criteria they want, then hit a button and all the different scenarios that match their criteria will pop up. I can figure out how to hit one button and have it return all the scenarios with an x in the respiratory column, but how can I set it up where I can pick mutiple criteria and it will only return the records that meet all the criteria I choose? Thanks in advance! Tex (talk) 19:17, 25 March 2010 (UTC)[reply]

What you need is a little bit of VBA that creates a custom SQL query for the code you want. Let's say that you had "Respiratory" indicated by a checkbox named checkboxRespiratory, "Pulmonary" by checkboxPulmonary, and so on. Then you could assign it to your list of results as the source. The VBA would look something like this (not tested, and I'm a little rusty on VB):
Dim sqlquery as String
Dim sqlAnd = false
sqlquery = "SELECT * FROM tableScenarios WHERE ("
If checkboxRespiratory.Value = True then
If sqlAnd then sqlquery = sqlquery & " AND"
sqlquery = sqlquery & " Respiratory='x' "
sqlAnd = true
End If
If checkboxPulmonary.Value = True then
If sqlAnd then sqlquery = sqlquery & " AND"
sqlquery = sqlquery & " Pulmonary ='x' "
sqlAnd = true
End If
If checkboxEcmo.Value = True then
If sqlAnd then sqlquery = sqlquery & " AND"
sqlquery = sqlquery & " Ecmo ='x' "
sqlAnd = true
End If
sqlquery = sqlquery & ")"
ResultsList.RowSource = sqlquery
Or something like that. (I can't give more specific examples without knowing a bit more about how your form is set up.) Does this make sense? In the end your code will give you an SQL statement that looks something like "SELECT * FROM tableScenarios WHERE (Respiratory='x' AND Ecmo ='x')". Then you put that as the RowSource of a Listbox (or Combobox, or there are other ways to do it).
(Note that the whole reason there is the sqlAnd bit is because you need to have ANDs between each evaluation in the SQL query, but don't want a trailing AND. Doing it the way I did it is a quick and dirty way to do this.)
Does that make sense? That's one way to do it; there are others. I have not tested the above code, it assumes your database data is really made of strings (is really "x" and not a True/False field), which might not be the case. It is not hard to modify, though, but understandably using VBA to create SQL probably will make you a bit nervous at first if you are familiar with neither. --Mr.98 (talk) 23:56, 25 March 2010 (UTC)[reply]
Thanks Mr.98. Yeah, all that stuff is Greek to me. I was hoping to be able to do it just by using the GUI. I'll definitely give this a try, though. Thanks a lot! Tex (talk) 14:13, 26 March 2010 (UTC)[reply]
I'm not sure there's an easy GUI way to do it. I don't mind writing the code (as you can see it is not too complicated if you know VBA) but I'd need to know a little more about the forms and tables you are using. (What the control types and names are on the forms, what the exact table design is, in particular the field types). --Mr.98 (talk) 15:54, 26 March 2010 (UTC)[reply]

Well, I wouldn't want you to go to any trouble. I know just enough Access to get me in trouble, so when someone said they had an Excel spreadsheet, I thought it would be easy enough to put it into Access so that queries could be run on it. So, I just imported a spreadsheet into an Access table. There's nothing special about the data types, it's all text. The exact structure is:

Name Learner Level of Acuity Respiratory X-Ray BPD Chart Pulmonary RDS ECMO
Scenario 1 Advanced Red x x x x
Scenario 2 Intermediate Yellow x x x x

And it goes on for over 50 different scenarios. The form I set up is just a basic form where I envisioned having several drop down boxes. The person would choose "Respiratory" from the first drop down menu, "Pulmonary" from the second drop down menu and "Ecmo" from the third drop down menu and then hit a button that would say "Find all scenarios that meet your criteria". It would then run some kind of query in the background and return only those records that have respiratory, pulonary and ecmo with an x in the cell. If they left the third drop down box empty, it would return all the records that have an x under respiratory and pulmonary. Make sense? Seriously, I would really appreciate your help, but I don't want to waste your time. Tex (talk) 16:30, 26 March 2010 (UTC)[reply]

It's no problem. I assume that the table is named "tableScenarios"—if it is not, feel free to rename it every time I use it below. I am using Access 2002 so the particulars might be a tiny bit tweaked, but probably not:
  1. Make sure that the "Name" is designated as the Primary Key. To do this: from the Database window, choose Tables, choose tableScenarios, choose Design. Make sure there is a little key next to "Name". If there is not, select "Name" and choose Edit > Primary Key. Close the Design window.
  2. From the Database window, click on Forms, then click on New. Click OK (Design view, don't give it a table to base it on).
  3. Add a ComboBox control to the form. When the Wizard menu comes up, choose "I will type the values that I want." Click "next". You want it to be 1 column. Just type in X-ray, then hit tab, type in BPD, hit tab, type in Chart, hit tab, and so on for the fields. Click Next, a caption like "Field filter 1", click Finish. You should now have a little drop-down box on your form page.
  4. Right click on the drop-down box you made, and choose Properties. Click on the "Other" tab, and change its "Name" field to "cbo_filter1". Then click on the "Data" tab, and set "Limit to List" to "Yes".
  5. Select the drop-down box and its caption, copy and paste it two times. Move the other two instances into reasonable positions. In the same fashion as before, change their "Name"s to "cbo_filter2" and "cbo_filter3" respectively. (It doesn't actually matter if they are in order.)
  6. Now add a List Box control to the form. When the Wizard comes up, hit Cancel (we don't want to use the Wizard). Select the List Box you just added, go to its Properties, change its "Name" to "list_results". In the Properties window, click the "Format" tab, change the "Column Count" field to 11. Change the "Column Heads" field to "yes". You can position the List Box in a convenient place at this point.
  7. Now add a button to the form. When you get the Wizard, hit Cancel (we don't want to use the Wizard). In its Properties, go to "Other", change its "Name" to "btn_Search". Under "Format", change its "Caption" to something useful (like "Search"). Now click on the "Event" tab, and under "On Click", select the drop-down menu and select "Event Procedure." Then click the ellipses ("...") next to "Event Procedure", and it'll launch the code editing window.
  8. After "Private Sub btn_Search_Click" and before "End Sub", paste in the following code:
Dim sqlquery As String 'set up our SQL string variable
Dim haveField As Boolean 'set up a variable that will tell us whether any fields have been selected
haveField = False 'set that variable to "false" to begin with

sqlquery = "SELECT * FROM tableScenarios WHERE (" 'start making our SQL query (select all records from the table where the following conditions apply...)

If cbo_filter1.Value <> "" Then 'if the first combo box has anything selected in it...
    sqlquery = sqlquery & "Nz([" & cbo_filter1.Value & "],'')" & "<>''" 'add to the SQL string the name of the field to check for, and make sure it is not null (if it is, Nz will set it to an empty string), and then compare it to an empty string.
    haveField = True 'set the 'have already entered a field' variable to true
End If 'end the 'if' conditional statement

'The only tricky bit about the above is all the "Nz([" etc. business. Nz() is a function that basically says, "if the field is NULL, report it as this instead." So if I say Nz(variable, ''), I just mean, "if variable is null, report it as an empty string."
'This is useful here because sometimes tables will store empty cells as null and sometimes as empty strings. This is an easy way to hedge our bets on what it will be (and it doesn't matter which one it is, we want it to count as empty.)
'Lastly, just note that cbo_filter1.value will be the text of the combo box. We put it in brackets [] because field names like "X-ray" would not be acceptable otherwise.

If cbo_filter2.Value <> "" Then 'same thing, but with the second combo box
    If haveField = True Then sqlquery = sqlquery & " AND " 'if we already have a field variable entered, add AND to the SQL query
    sqlquery = sqlquery & "Nz([" & cbo_filter2.Value & "],'')" & "<>''" 'same check as before, but with the second combo box
    haveField = True 'same as before
End If

If cbo_filter3.Value <> "" Then 'same thing, but with the third combo box
    If haveField = True Then sqlquery = sqlquery & " AND " 'if we already have a field variable entered, add AND to the SQL query
    sqlquery = sqlquery & "Nz([" & cbo_filter3.Value & "],'')" & "<>''" 'same check as before, but with the third combo box
    haveField = True 'same as before
End If

If haveField = False Then sqlquery = sqlquery & "1=1" 'if they select NO fields, let's assume they want ALL records, and so we set the "WHERE" to a statement that will always evaluate to be 'true' for all records (that 1 equals 1)

sqlquery = sqlquery & ")" 'end the SQL query

list_results.RowSource = sqlquery 'set the list box to use the SQL query
list_results.Requery 'refresh the listbox
"OK", you're thinking, now I'm using dodgy meaningless code I got off the internet. The comments though should allow you to follow the flow of the script and what it is doing. We are just creating an SQL query based on information on the form, and then passing it to the list box. (I have tested this code, so this time I am sure it should work.)
  1. Close the code editor, close the form, (it will prompt you to give it a name -- "Searchform" is fine, save changes!). Now if you click on "Searchform" under the "Forms" tab of the Database window, it should prompt you for your three fields.
Let me know if the above works. I have a saved file of it I could e-mail you if you give me an e-mail address to use, if you are having trouble getting everything to work. (In my experience though going through steps like that is a good learning tool!) --Mr.98 (talk) 12:21, 27 March 2010 (UTC)[reply]

IE8 - default to display the "Find" tool[edit]

Is there a way I can set IE8 (v8.0.6001.18702 on fully patched WinXP MCE SP3) to start with the "Edit->Find on this page" tool open on a toolbar? I can't find any native way (through the various menu/toolbar options) to do so and my various searches of support sites yield nothing. Basically, I do enough searching for text in Wikipedia pages that I'd rather have the Find box on a toolbar all the time. Franamax (talk) 19:57, 25 March 2010 (UTC)[reply]

Ctrl+F is not fast enough? --Andreas Rejbrand (talk) 20:49, 25 March 2010 (UTC)[reply]
...or just install Firefox instead and be able to find text simply by typing it, without the need to display any dialog or select any menu option. JIP | Talk 20:59, 25 March 2010 (UTC)[reply]
Well no, ctrl-F isn't fast enough or I wouldn't have asked. It requires an extra switch between visual, key-sequence, and textual tasks. I wish to go directly from browsing to search by clicking in the pre-existing find box sitting right there in the otherwise empty space on my toolbar. Is that possible? (And I appreciate the advice on browser platforms but for various reasons I need to stick with the "mainstream"). Franamax (talk) 01:36, 26 March 2010 (UTC)[reply]
I see various suggestions the Google toolbar may have something useful if you're willing to use it (don't thank this the wrong way, I'm not pushing it, in fact I don't think I'll ever be willing to use it myself) Nil Einne (talk) 07:34, 30 March 2010 (UTC)[reply]

Backups[edit]

I now possess not zero, not one, not three, but two 1 terabyte USB hard drives intended solely to back up my internal hard drives. I intend on running a routine backup process once every few days, alternating between the drives, keeping the drive only turned on for the duration of the backup process. If one drive fails, the other still has most of the data, and I can replace the faulty drive with a new one. But is there anything I can do to make sure the other drive doesn't fail as well before I can replace the one that (hypothetically) did fail? I am fairly sure that now that I have two drives, simply having more than two would be superfluous, the main point is that there no longer is a single vulnerability to the entire backup. JIP | Talk 21:09, 25 March 2010 (UTC)[reply]

If you can solve that problem, you can prevent any drive from failing in the first place. The risk of two drives failing at once is why there are mirroring solutions that use additional redundancy so it takes two or more drive failures to lose data. If your data is on your computer and two backup drives, you've got double redundancy, so the only way you lose your data is if the remaining two go down before you can replace the first to fail. Statistically speaking, you're in pretty good shape, as long as you acquire replacements quickly. —ShadowRanger (talk|stalk) 21:15, 25 March 2010 (UTC)[reply]
I was going to suggest that you make sure the two disks are different models, ideally by different manufacturers - if instead you bought two disks of the same model at the same time, it's likely they're from the same batch. If you are unlucky enough to get a bad batch, then that increases the chance that the failure of the first will be followed by the failure of its counterpart (that is, that the failures have a common causation and are not unrelated events with independent probabilities). But if you've already bought the disks, then it's too late for that. The scheme you describe still has, on the face of it, a single-point of failure - if the disks are stored in the same building as the original machine and something affects those premises, it affects the backups too. So a burglary, a legal dispute, a fire, a flood, a release of toxic gas from that oil refinery down the road which prevents you from going home for a couple of weeks, all these make your backups useless. Remote backups (where you operate two or more machines, and they backup each other with rsync over ssh overnight) or hosted online backups (where your backup lives at Amazon or wherever) are much safer from this perspective. Even if you're not willing or able to go to these lengths, think about where the backup disks are when they're being stored. Are they in a pile on top of the machine, or are they kept in a locked firesafe in another room? -- Finlay McWalterTalk 21:30, 25 March 2010 (UTC)[reply]
Very good point. I tend to overlook that sort of thing. I figure if my apartment bursts into flames, I've got bigger things to worry about, but on further consideration, there is a lot of stuff I simply could not reproduce if my computer went down. I keep the important stuff on RAID-1 disks, but I really ought to spring for off-site backup. —ShadowRanger (talk|stalk) 21:42, 25 March 2010 (UTC)[reply]
It's true that if you have a true disaster then backups might be the least of your worries. But, for individuals and particularly for business, there are all kinds of unexpected nasties that can temporarily deny you access to your premises or your machine, that only become a disaster if your backup strategy is bad. I worked one place where the river flooded the entrance to the office estate, meaning no-one could get to the (perfectly dry and functional) office. This happened on the day of a (panic mode) deliverable, leading to much wailing and gnashing of teeth - but I just sent everyone to another office where the overnight backup was available and everything got done fine. For an individual things don't need to be at all advanced; I just tar my "fragile" folder to a DVD, keep one copy at home, another in a firesafe at home, and another in a relative's safe in their home (they're not all done concurrently), so the worst case (total fire) would cost me about a month's stuff (and as it's mostly copies of viagraspam, that's an appropriate level of risk). -- Finlay McWalterTalk 22:35, 25 March 2010 (UTC)[reply]
Get some more drives. The site [2] has a cute parable (warning, it ends with a gentle sales pitch) that is pretty informative about various issues of backup strategy. 66.127.52.47 (talk) 23:15, 25 March 2010 (UTC)[reply]
If you're serious about not losing your valuable data, I would also suggest a fire safe. As others have said, if you're unlucky enough to have a fire, or a theft, it's quite likely you will lose all 3 drives. With a fire safe remote from your PC, you have much better insurance against that. --Phil Holmes (talk) 09:24, 26 March 2010 (UTC)[reply]
You should keep a backup far away from your house, preferably 100's of miles away, but in your office or car or something like that is better than nothing. Don't forget to encrypt it if it contains anything private. A bank safe deposit box is a good place to store long-term backups. 66.127.52.47 (talk) 07:19, 27 March 2010 (UTC)[reply]
I'm hesitant to keep a remote backup at a family member's or friend's home, or at my office, because I just don't like the thought of someone else potentially having access to my data. I'm otherwise convinced that a remote backup is a good idea. A bank safe deposit box would therefore be a suitable solution, but I don't know how much having such a thing would cost. JIP | Talk 10:05, 27 March 2010 (UTC)[reply]
In the entry just above yours, 66.127.52.47 addressed your privacy worry regarding having the backup in your office, or in the home of someone you know. See TrueCrypt, and if you're worried about your privacy, encrypt your main PC as well. No noticeable loss of performance. --NorwegianBlue talk 17:13, 27 March 2010 (UTC)[reply]
How would encryption work in practice, then? I have a Linux system, and use rsync to backup my hard drive and update the backup, keeping only the files that have changed. I see three options:
  1. Run a specific encryption program, so that a normal backup process would consist of decrypting the entire drive, running rsync and encrypting the drive again.
  2. Format the drive with an encrypted file system. How do encrypted file systems work in practice anyway?
  3. Use a backup program with in-built encryption support. Does rsync have this?
This solves the privacy problem, but I'm still hesitant about keeping a backup at my office, because there's no guarantee how long I'll work there. Maybe they'll fire me some day, maybe I'll find a better job myself some day. I'm more inclined to keep a backup at my parents' house. After all, no matter how many jobs I go through, my parents always remain the same. Also, from another point of view, I'm not sure if my workplace looks kindly at employees storing their personal backups there, but as far as my parents go, I'm special, and have the right to store my personal backup at their home, as long as it doesn't get in the way of their own personal lives. JIP | Talk 21:50, 27 March 2010 (UTC)[reply]
My experience is from Windows XP, but assuming it works the same in linux, here's what I'd do:
  1. Do whole-disk encryption on the external disks you use for backups.
  2. Mount the disk you're about to rsync with. In windows, it receives a drive letter. In linux I assume you'll have to mount it to an empty directory.
  3. Do rsync to the mounted, encrypted disk. The encryption is totally transparent, and rsync will work just like you're used to. When the disk is mounted, the driver does the encryption/decryption, and it works like any other disk.
An annoyance with TrueCrypt on Linux, is that is doesn't seem to be in the repositories, at least not for Debian, which I use for my server. If you use Ubuntu, there's a HOWTO here. (This was the first thing that popped up, with some searching you'll probably find more info.) --NorwegianBlue talk 11:55, 28 March 2010 (UTC)[reply]