Saturday, May 13, 2017

Hootoo Travelmate Elite and Using Chromecast In Hotels

Our family always brings a Chromecast with us when we travel so we can watch our video library on the TV.  The challenge has always been getting it to work in hotels especially ones that require a password to access its wifi.

The easiest solution is to have a travel router that connects to the hotel's wifi and have all the devices (chromecast, phone/tablet) connect to the travel router.  Only the router needs to be configured to access the hotel network and all your devices access the Internet through the router.  Because all the devices are on the same internal network setup by the router your phone can easily find and access the Chromecast.

Travel routers aren't expensive but often they rely on hotels with physical network connections to plug in to.  Setting a router up to not use a physical connection can be a pain, but then I found a HooToo Travelmate Elite.

The Elite is a multi purpose device about the size of the Macbook's square power brick.  It serves as a router, a battery power bank, media player (when you plug in your USB drive), USB hub, and USB  wall charger.

You can do a one-time initial setup for the internal network so that all your devices can connect to it and then when you plug it in at a hotel it will connect to the hotel's network.  It can connect with a physical ethernet connection or to the hotel's wifi.  When going through the wifi, the first mobile device that connects to it will get a prompt similar to what you see when you're at a public wifi spot such as at the airport.   After it connects then the rest of the mobile device will all be able to access the Internet.

Because I know that I'll always be connecting to the same network, I don't have to set every device at every place we go to and since the HooToo is a battery pack it will still work even if unplugged.

Now I simply plug it in when I arrive at a hotel, use my phone to do first access to the Internet and then I can plug in the Chromecast to the TV (as long as it has a HDMI input) and turn on the other electronics and the family is happy.

Everki Atlas Review

I've been using a Victorinox backpack for many years whenever I've had to travel.  I can't find a link to it since it's no longer being made, but it is very well made, TSA friendly, side-loading laptop compartment, allows for good organization and can hold a good amount of items).  It is not a light backpack and is pretty heavy when loaded up.  Especially when traveling with the family which increases the number of electronics, I definitely started to feel the weight.

I started to look for a new travel backpack with all the same goodness but lighter and can hook on to the trolley handle of my luggage.  I've also gotten to like backpacks that can stand on its own so that would be a bonus feature.

Initially, the Everki Versa caught my eye as it fit many of my criteria, but I was concerned that it might be too small and it wasn't light at 4.01 lbs.  Instead, I chose the Everki Atlas which is larger then the Versa but is lighter.

The video above goes over the its key features so I'll just give my impression of the Atlas after taking it out on a 1 week business trip.

  • The construction and materials seems solid and comparable to the Victorinox.
  • Organizationally, it is very similar to the Victorinox with the pockets and compartment (the Atlas have a few more internal pockets).  
  • A feature that I liked in the Victorinox is a divider in the main compartment to help separate paper/magazine from the rest of the item and the Atlas has it as well.
  • The water bottle pocket is a good size whereas it was a tight fit with the Victorinox.
  • When fully loaded, it didn't feel as heavy as the Victorinox since the backpack is better balanced.
  • Hooking it on the trolley handle meant I didn't have to carry it all the time.

  • The quick access magazine pocket is convenient but I worry that if it was raining that water will collect in the pocket.
  • Opening up the backpack to go through TSA screening means unzipping that compartment.  This is the same as most TSA backpacks, but I found the Victorinox's method which uses velcro and clip to be faster to open up.
  • I like the side loading compartment on the Victorinox which makes it easy to get the laptop out without taking off the backpack.  Top loading makes it a bit easier to access the laptop while on a plane, though.
Wish List

Here are a few things that I think would make the backpack even better:
  • Rain cover or something to prevent water from going into the magazine pouch.
  • Hard case compartment is something that might be nice but honestly I'm not sure about it.
  • Hole to run a cable through for headphones or charger.
  • Pocket on the shoulder strap for holding transit tickets/cards.
  • The tuck-in strap of the Versa looks like a nice feature.  The Atlas is not too bad because it has a chest strap that helps keeps the shoulder strap from flopping around.

Saturday, April 1, 2017

Accessing Github Through SSH As Different Users

To set up access to Github using different accounts, start by creating ssh keys for each account.

$ cd ~/.ssh
$ ssh-keygen -t rsa -C "github-acct1" -f "github-acct1"
Then add the ssh key to the Github account.

Next, create ~/.ssh/config to tell ssh when to use which account:

# Github account #1                                              
   User git                                                                     
   IdentityFile ~/.ssh/github-acct1                                           
# Github account #2                                                         
   User git                                                                     
   IdentityFile ~/.ssh/github-acct2

Check out a repo as the user to use by matching to the Host value in ~/.ssh/config:

$ git clone
Change to the repo directory and set the name and email to use for commits if needed.

$ cd repo
$ git config "Acct1"
$ git config

Monday, February 20, 2017

Yubikey, U2F and protecting your accounts.

Setting up 2-factor authentication is an important step to keeping your online accounts safe.  For many people, this comes in the form of having an additional code that must be entered in addition to their passwords such as those that is sent to their phones through SMS or using an app like Google Authenticator.

Admittedly, this additional security comes with an additional inconvenience of needing to have your phone nearby and looking up the code which probably turns off a lot people.  To simply the process, Google, Yubico and some partners developed Universal 2nd Factor (U2F) which is now handled by the FIDO Alliance.  This open standard uses an hardware key that you insert into the computer's USB slot (or using NFC) instead of typing a code.

Google, Facebook, Dropbox, Github and a host of other services now support this.  The keys can be purchased from Amazon and ranges from $18 to $50 depend on the features you want.  For primarily Fido/U2F support, only the $18 Yubikey is needed.

The most basic Yubikey is enough for Google, Facebook, Github, Dropbox and many common web applications.

This Yubikey supports NFC and a number of other security mechanisms such as storing ssh keys, passwords, etc.

This tiny Yubikey is meant for be left in the computer's USB slot and you touch it to authenticate.  This is useful for machines that you feel is physically safe from phishers and other people trying to steal your accounts.

These keys really reduces the inconveniences of 2-factor authentication and are super easy to use.  I just wish more companies (especially financial institutions) adopt their use.

Sunday, February 19, 2017

Google Wifi, mesh networks, redundancy

Google Wifi is a new device that can create a wireless network "mesh" by simply adding wifi points to your network.  It is super simple to setup.  Simply plug it in and add it to your home network through the mobile app.

Setting up a home network usually involves having a router (likely with wifi capabilities) that devices connect to.  Single router solutions like Asus RT-ac68u and Google OnHubs have very good reach and for most situations are going to be all you need.  The RT-AC68U allows you to tweak and configure to your heart's delight. The OnHub leverages Google's technology to monitor and configure itself for maximum performance thus regulating managing your router to the background.

There is one flaw to the single router solution which I painfully experienced recently:  single point-of-failure.  One day, my router just stopped working and nothing I did could bring it back to life.  When the internet is down in my house... well, the natives are not happy and good 'ol dad will hear about it!  In this situation, it usually mean going out and buying a replacement ASAP and if it happens at night that'll mean finding ways to pacify the citizens' unrest until that replacement can be bought.  Fortunately, in my case, I had an unused router left in storage.

"Redundancy" is a good thing in the technology world.  This brings me back to Google Wifi.  Most discussions about Google Wifi focuses on its wireless mesh capabilities, but each Google Wifi unit can also be a router.  In fact, unless you are using an OnHub as your router, at least one unit has to be the router.  If one unit fails that will just mean the reach of the home network is smaller but the network is still up.  If it is the unit that serves as the router that fails, simply using one of the other units as the router.

Google Wifi works great, but the added benefits of the redundancy makes me really recommend it especially...

(T-shirt available from

My System (2015)

In a blink of an eye, two years has passed since I upgraded my primary system and it seems to be true that we've arrived at the end of Moore's Law as I've not felt an urge to upgrade the system.  I've not noticed slow down in performance of what I do on a day-to-day basis on the system which is primarily coding with VIM and browsing with Chrome.  I don't use this system for gaming and Linux is my primary OS which might contribute to everything still being relevant.  It's possible that my next upgrade will be driven by an upgrade to my monitors from dual HD to dual 4k.

This system is very Linux friendly and has an added bonus of having dual gigabit Ethernet which is one reason that I got it over the Asus Vivo Mini that I've also mentioned before.  This system also has dual displayport outputs and an HDMI if you're inclined to power 3 external monitors.  It runs cool and quiet and I've not had any problems with it in the two years that I've been using it.  This particular Shuttle bare bones system is no longer available but there is a newer version which seems identical except with a newer Intel chipset that has improved graphics, allows for more memory and supports newer Intel processors.
  • Shuttle PC DS87
  • Intel Core i7-4790S Processor (8M Cache, 3.2 GHz)
  • Samsung 850 EVO 500GB 2.5-Inch SATA III Internal SSD (MZ-75E500B/AM)
  • 2 of Crucial 16GB Kit (8GBx2) DDR3 1600 MT/s (PC3-12800) CL11 SODIMM 204-Pin 1.35V/1.5V Notebook Memory CT2KIT102464BF160B

Saturday, February 18, 2017

My Favorite "Management" Books

Besides the books that I've previously listed, here are some books that are more focused on management rather then software engineering or technical project management that I've found to still be good reads for engineers.

The First 90 Days gives advice on how to transition into new roles with case studies on do's and don't.  I found it useful in helping to develop a learning plan for myself whenever I start on a new team or in a new role.

Who Says Elephants Can't Dance isn't a "how to manage" book or even a "How Louis Gerstner manages" book.  It's presented more as a story of IBM's turn-around.  I like to read this book when I feel frustrated about a company to remind myself that change can happen even in the largest of companies.

Additionally, here are some books that's been recommended to me which I have not yet read but I thought that I'd pass along:

Debugging Teams (formerly Team Geek)

The Five Dysfunctions of a Team (Manga Edition)

The Adventures of Johnny Bunko