Chrome Bravo 2.0 Backpack

My new day-to-day work backpack is the versatile Chrome Bravo 2.0 which was shipped from California.  It features a waterproof welded main compartment and a quick-access laptop pocket, as well as sporting a unique cross strap system to attach just about anything else you need to carry.

bravo_bag

The rolltop allows you to haul bulky items by extending the main compartment upwards, otherwise keeping your gear waterproof. Dimensions are 21″H x 13.5″W x 6″D providing 25L of space.  Built with weatherproof 18oz truck tarpaulin liner and military grade (abrasion resistant) 1050 denier nylon.  bravo_side

It also features Chrome’s signature push plate buckle to secure the sternum strap.

bravo_strap

The front compartment provides easy access to my 15″ Macbook Pro, documents, and a smaller compartment for wallets, phone, and keys.

bravo_front

Screen scraping with PhantomJS

One of the more useful tools to ‘scrape’ data from the internet I’ve been playing around with is PhantomJS, a headless WebKit scriptable with JavaScript API – basically it’s a web browser without a graphical user interface.

Slice 1

Why would anyone want to use a web browser without a browser?” you might ask?

Well apart being able to manipulate a website pages DOM to scrape data and other useful nuggets of information (images, links, etc) PhantomJS is also a great tool for running functional website testing, screen capture, page automation, and network monitoring.

Anyhows, using PhantomJS is pretty straight forward, and the only tricky bit for me was installing all the necessary files on my hosting server.

 JavaScript example
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
 //Page is loaded!
 phantom.exit();
});
Installing PhantomJS on my hosting server

This was slightly tricky as I finally figured out I needed to install the 64bit version to overcome a lot of the dependency issues I was getting.  The basic steps were:

  1. Enable Godaddy SSH.
  2. Open Terminal (on mac)
    • ssh username@hostname
    • cd ~
    • wget (the 64bit version of phantomjs for linux)
    • tar xvf
Test harness to execute

I created a cron job to run my script, but a simple way to test the javascript file is through a simple PHP harness:

<?php

$output = shell_exec("/[path to phantomjs]/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /[path to javscript file]/testMyScrape.js");

echo "<pre>$output</pre>";

?>

 

 

Virtual Augmented Reality

Very excited to get our hands on a Microsoft Hololens for the office through a few back channels in Microsoft before its public release.  After playing around with various VR headsets, the Hololens really is in a different league.  Unlike the Oculus which requires a high spec PC to run (we have 3 Oculus headsets lying around the office but not machine to run them), the Hololens pretty much worked out of the box.

As Microsoft puts it:

“Our vision for holographic computing is to transform the world with holograms – seamlessly connecting the digital world with real life. With the ability to design and shape holograms, you will have a new medium to express your creativity, a more efficient way to teach and learn, and a more effective way to visualize your work and share ideas. This means your digital content and creations will be more relevant when they come to life in your world.”

I’m demoing the kit to the office this afternoon and will try and upload some videos on our ‘hands 0n’ experience with the Hololens.

 

Diving into AWS

I’ve previously dabbled with AWS but never properly setup an EC2 instance for a production-ready site on my own until today.  There’s definitely more configuration than spinning up sites from a web hosting provider such as GoDaddy, but definitely a lot more granular control of the configuration.

Just following the AWS EC2 setup guide, and then setting up a basic LAMP stack.  Will update the basic steps and gotchas once I have it all up and running.

I’ve also dabbled with Microsoft Azure, but I’m particularly keen on exploring Google Cloud in more depth.  Primarily as I understand it provides applications hosted on their cloud access through Google Global Cache, which is Google’s CDN (Content Delivery Network) – one of the few CDN’s currently available in developing countries such as Myanmar to speed up delivery of internet services via caching.