aeneas vagrant

Trying to get aeneas-vagrant in VirtualBox on Windows 7 to run has been a bit of a trial-and-error nightmare. Even though many tools in this toolchain are open source and cross platform (supposedly), Window’s idiosyncrasies and strange incompatibilities occurred at multiple points.

Below are the instructions of how I got this to work on an AMD processor (certain issues encountered along the way may be due to an AMD bug!) running Windows 7 Enterprise 64 bit (yes, lets just be super explicit, because 32bit and 64bit mattered in the case of getting Cygwin to work with everything else!)

  1. Install Vagrant (legacy build 1.5.4)
  2. Replace curl.exe in c:\HashiCorp\Vagrant\embedded\bin with this version of curl
  3. Install Cygwin (latest 32bit build), make sure to install ssh and rsync packages.
  4. Git download aeneas-vagrant as per the project readme
  5. (edit Vagrantfile included with aeneas-vagrant directory and add ‘config.vm.boot_timeout = 3000’. This was necessary for my aging AMD processor to not timeout).
  6. Open Cygwin, navigate to aeneas-vagrant directory, input ‘vagrant up’.

Vagrant will do a whole host of things, including downloading a distro debian/jessie64, setup logins and ssh private keys, rsync some folders, bring up the virtual machine with debian/jessie64 into, and then do a whole heap of downloads and setup within debian (colour should be green by this stage). But this will end in an error in debian: something about lxml failing because gcc can’t find a library -lz

  1. Input ‘vagrant ssh’ to log into debian.
  2. Once in debian, input ‘sudo apt-get update’ (this’ll take a while)
  3. Input ‘sudo apt-cache search zlib’ (this’ll bring up a whole heap of results)
  4. Input ‘sudo apt-get install <results-that-looks-the-best>’ (I picked ‘lib32z1’ & ‘lib32z1-dev’ for the <results>)
  5. Input ‘sudo pip install aeneas –upgrade’

Voila! aseneas-vagrant should be now setup and working. Try the instruction of running aeneas as per the project readme, it should finish executing.

However, the shared drive between VirtualBox and your Windows PC will not work just yet. This means you can’t access the output of the aeneas process (which is in VirtualBox) from your PC. And unfortunately debian can’t mount VirtualBox drives (type vboxsf) without some more configuration.

  1. Insert ‘config.vm.synced_folder “./data”, “/vagrant_data”‘ into the Vagrantfile included with aeneas-vagrant directory. This links ‘data’ directory on your Windows PC to /vagrant_data in debian.
  2. Create ‘data’ folder in the aeneas-vagrant directory
  3. At aeneas-vagrant directory in Cygwin, input ‘cygdrive/c/HashiCorp/bin/vagrant.exe plugin install vagrant-vbguest’ (using ‘vagrant plugin install vagrant-vbguest’ generates a SSL error; something to do with the vagrant shellscript not using the right executable; so we specify directly the right vagrant.exe).
  4. Input ‘vagrant up’
  5. Input ‘vagrant ssh’ (now in debian)
  6. Input ‘sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions usr/lib/VBoxGuestAdditions’
  7. Input ‘exit’ (back in Cygwin)
  8. Input ‘vagrant reload’

Now everything should work. ‘vagrant ssh’ into debian again and input the command ‘python -m aeneas.tools.execute_job ../../usr/local/lib/python2.7/dist-packages/aeneas/tools/res/job.zip /vagrant_data/’ – this should generate a zip file in /vagrant_data/ and therefore in aeneas-vagrant/data on your Windows PC.

Acknowledgement: couldn’t have troubleshoot this without the contributors in the following forums:

  • https://github.com/mitchellh/vagrant/issues/5016
  • https://github.com/mitchellh/vagrant/issues/4073
  • https://github.com/mitchellh/vagrant/issues/4073
  • https://github.com/mitchellh/vagrant/issues/3341#8
  • https://github.com/mitchellh/vagrant/issues/5091
  • http://stackoverflow.com/questions/9979870/installing-zlib-in-linux-server

windows 10 tablet mode annoyance

Having tried a Surface Pro 3 for both work and leisure, I’ve come to the conclusion that Windows 10 is more schizophrenic than being 2 great superheroes in 1.

For work: I couldn’t work out how to access the desktop in Tablet Mode. And that is significant because the desktop is a shortcut space for me to access folders and short-term files (e.g. PPT to show at the work conference).

And for the love of everything sacred you cannot find anything online because ‘desktop’ happens to be the name of other Mode in Windows 10 – so any search just returns oodles of results about the ‘great’ feature of being able switch between Tablet and Desktop Mode.

For leisure: as previously mentioned, Windows 10 doesn’t pop-up the onscreen keyboard for Firefox (yet) automatically; sure, not entirely the fault of Microsoft, as Mozilla probably hasn’t updated Firefox to be fully conformant to Windows 10 – but still, its annoying.

cold storage

Yes please! Hopefully some retailer like Officeworks will have pay-per-disk backup stations with these burners for people to archive their photos and videos.

good NAS proposition for home

With constant-sync freely available for the really important files on the cloud (e.g. work docs), the question of how to store the occasional-access important files (e.g. archives of old photos) remain.

Storing these in the constant-sync cloud is too expensive, yet glacial services offered by Amazon is not user/consumer friendly enough. Backup-all-services like Backblaze is great for that anomalous disaster but doesn’t facilitate occasional-access.

I think a dual local medium strategy is sufficient. One copy on your primary computing device, and another copy on an external harddisk. The primary computing device is important enough – and an external harddisk is cheap enough – for the inertia to replace to be very low. Hence it is fair to assume that there will for most-of-the-time be two copies of the data.

The Synology RT1900ac is good value proposition for consumers to further make this external harddisk accessible – for both backing up and occasional-access of the files. A home can have a low-powered NAS for not much more money than what one would spend on a router already.

One of the issues with this strategy is storage on the primary computing device as we take more videos, especially when SSD that are becoming more popular in laptops still lags mechanical drives in capacity-to-price ratio. Perhaps another external harddisk instead of relying on the primary computing device is the solution, but I also think backing up on two harddisks has much higher inertia.