microsoft curveballs

First SQL Server for Linux from a few weeks ago, now Bash for Windows 10 from Microsft Build this morning. Really unexpected!

I’m not a developer by any stretch of the imagination, but with the little I do, I think Bash would be useful. Even though Cygwin is good, something baked into the OS just feels right. (And it befuddles me why certain really basic packages are not installed by default in Cygwin; I guess I’m not power user enough to appreciate the customisability).

To be honest, I like developing in Windows. I feel its more manageable than Linux and less restrictive than OS X for development.

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.