1
$\begingroup$

I will be away from my home institution for an extended period. I plan to leave programs running on machines there. These programs periodically (every several hours) output updated results (improved estimates).

I would like to remotely keep track of these updated estimates.

Would it facilitate matters to run the programs in the Wolfram Cloud?

In any case, should I have the results saved both locally and in iCloud, and if how? (I am using Apple devices.)

I don't think I need to remotely control these programs--but, I presume, one could via some remote kernel setup.

P. S. Somewhat in line with my third comment immediately below and my first comment to user6014's detailed answer, my attempt to use the command >>> "~/iCloud/Results/myData.txt" yielded a Mathematica PutAppend error. I, then (in line with the resident consultant's advice), checked/activated the "Desktop and Documents Folder" on my iCloud Drive's option. Then, I employed the output command >>"~/Desktop/results". Now, the Desktop did in fact appear on iCloud.com, but not the particular new file "results".

$\endgroup$
  • $\begingroup$ What do you mean by "results". If it is just numbers and plots there are many things you could do including: using SendMail to email you the results, save the results to Dropbox, and so on $\endgroup$ – Mike Honeychurch Oct 26 '18 at 22:37
  • 1
    $\begingroup$ Running the evaluations in the Wolfram Cloud is not an option here. It has laughably small timeouts on any evaluation. If you're just interested in just the results, then the easiest thing to do in my opinion would be just append the results to a file stored on some cloud file service, like iCloud/Dropbox. I imagine that would be pretty painless. $\endgroup$ – user6014 Oct 26 '18 at 22:47
  • $\begingroup$ Helpful comments, thanks! (The results are, in fact, just numbers.) But what specific command(s) might I employ--say "results>>?" I'd appreciate it if the comments could be "fleshed out" just a little--or some suitable reference/example given. Like how do I set up the iCloud/Dropbox file to which to append? $\endgroup$ – Paul B. Slater Oct 26 '18 at 23:26
  • 1
    $\begingroup$ I assume ssh'ing into the machines is not an option. I recently discussed this w/ Wolfram myself and they said parallelworks.com/solutions might be able to help (I'm not affiliated w/ them and am vaguely irked they haven't gotten back to me) $\endgroup$ – barrycarter Oct 27 '18 at 15:15
4
$\begingroup$

Let's assume you use Dropbox/iCloud, and one of these services is integrated both with the file system on your local computer, as well as the remote computer doing the computations. I'll assume Dropbox in my example, iCloud would likely follow in exactly the same manner.

By default, Dropbox's integrated directory is in your home directory, ~/Dropbox. We'll assume a subdirectory, ~/Dropbox/Results.

The simplest implementation would probably use PutAppend to over time add the results and a timestamp to your text file.

As an example which at its core hopefully mimics your scenario, consider the following While loop which runs indefinitely, and triggers every 5 seconds:

While[True,
 val = RandomReal[];
 {DateString[], val} >>> "~/Dropbox/Results/myData.txt";
 Pause[5]
 ]

Over time this appends whatever {DateString[], val} evaluates to to the end of myData.txt in my Dropbox directory, and the results look like this:

{"Fri 26 Oct 2018 21:02:30", 0.7724352272599528}
{"Fri 26 Oct 2018 21:02:35", 0.8972132205624115}
{"Fri 26 Oct 2018 21:02:40", 0.20307012057476914}
{"Fri 26 Oct 2018 21:02:45", 0.38503563713747524}
{"Fri 26 Oct 2018 21:02:50", 0.0959652843934331}

At 5 second intervals the file would grow quite rapidly, but in your case where you're only adding every few hours I don't think this is a concern.

And now, since it's in a synced Dropbox folder, I can immediately view the data in the Dropbox web interface from any browser:

enter image description here

Not that difficult to set up, and quite handy! Hope this achieves what you're after. If you've got further questions/specifications let me know.

$\endgroup$
  • $\begingroup$ OK-the key words to me now are: "Let's assume you use Dropbox/iCloud, and one of these services is integrated both with the file system on your local computer, as well as the remote computer doing the computations." So, how do I accomplish this "integration"? $\endgroup$ – Paul B. Slater Oct 31 '18 at 22:22
0
$\begingroup$

To supplement the answer of user6014, I enabled (checked) the Desktop & Documents Folder on iCloud Drive and used an output command of the form

results >> "~/Desktop/results"

where the file "results" is simply a list of three numbers.

Then, upon logging into iCloud.com and accessing iCloud Drive and the Desktop icon that appears, and clicking on "results" there, a file "results.dms" was downloaded, which could (we found) be opened with TextEdit, thus completing the task put forward in the title question.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.