High-Powered Statistical Computing On the iPad
by Justin Esarey
It's winter break… and as any academic knows, breaks are “a good time to get work done.”
For the Christmas break, many of us have to travel home to see family members. One of the great privileges of being an academic is that you don't necessarily need to be in your office to get research and administrative work accomplished. But for methods types like me, much of our work requires either (a) running large scale simulations to test the performance of a new estimator, or (b) running complex models on large data sets. In either case, significant computing resources are required… the kind of resources that can't be easily checked in a carry-on.
But one thing I usually do have with me is my iPad. It's light, portable, and it has a 4G internet connection (and WiFi, of course) so that I can almost always get online. And I realized that, if you add a keyboard and a Remote Desktop app to the mix, that's all that's required to get serious work done.
You only need a few things:
(A) Your work computer must be connected to the internet, and must be have some sort of remote access software installed. Fortunately, there are tons of really great remote access options available out there, many of them free.
- RDP, the Windows Remote Desktop protocol, is a great option and free for anyone with Windows. If you have Windows 7, like I do, you can find out how to enable RDP connections here. Make sure that you have passwords enabled on all the administrator accounts (all of which will get RDP access once you enable it).
- VNC Server is available for free on Unix-alikes, such as Ubuntu, and there are apparently free options for Macintosh OS X and Windows as well. But my experience has been that RDP is much better for Windows users.
- LogMeIn and Hamachi are paid services that have proprietary software to help make Remote Desktop connections more secure and more convenient. But RDP and VNC connections can just as secure, if you use Virtual Private Networks and/or SSL tunneling to connect.
(B) If your computer is at work on a secure network, such as on a university's network, you need to connect your iPad to the Virtual Private Network of your university. The way you do this will vary from case to case, but generally speaking your university should have instructions on how to connect to its VPN. The iPad can connect to a VPN natively through iOS. You may also need to ask the university's IT services to assign your computer to a static IP address on the network.
(C) If your computer is at home and behind a router, connecting remotely is possible but a little tricky. There are several things you need to do:
- You will probably need to enable port forwarding on your router so that the iPad will be able to connect to the computer that you wish to share. If your router has an option for VPN connections, it may be preferable to set up the VPN rather than port forwarding.
- You will need to set the computer you wish to connect to up on a static IP on your home network, through your router.
- You will need to connect to the public IP address of your home router, which unfortunately changes from time to time. So, you will need to set your router up with a service like DynDNS so that you can point the router at a static web address (something like esarey.dyndns.org).
Some tips on how to set up your home network are available here.
(D) Finally, you need to get connection software for your iPad. I personally use Jump for iPad, which is working great for me so far. A keyboard is also probably essential to get real work done, and so far I've really liked the Zagg ProFolio+.
And that's it! If everything's working well, you should be able to use Jump to connect to your computer's IP address, and have an iPad screen that looks a little something like this:
Now you can get a little programming done while you're home for the holidays!