Nexus 5X Portrait Image

Nexus 5X – Initial Review

I’ve been eagerly waiting for the Nexus 5X to replace my HTC One M8 that was getting long in the tooth. I was very excited when I finally received in on October X and have been using it as my primary phone ever since. After a few weeks of use, I figured that this would be a good time to write a review about it.
Nexus 5X Photo. Click link to go to full unboxing photo album
The summary of my thoughts on the phone is that it is a mid-range phone that is under powered for my use. Read on for more details

Continue reading “Nexus 5X – Initial Review”

Pentaho Data Integration crashing after El Capitan Update

I recently started to play around with Pentaho again for a side project at work and found that it was crashing whenever I tried to edit the database connection details. After doing a number of searches, I came across this Jira ticket in Pentaho. The gist of it is that El Capitan is not officially supported and causes Data Integration to crash. Fortunately there’s a fix out there that seems to work.

Continue reading “Pentaho Data Integration crashing after El Capitan Update”

Hardware Reflections – USB C and Wireless Charging

I’ve been debating about what new phone I want to get and I’ve had a hard time coming up with one. I know – first world problems, right? I’ve always prided myself to be someone who wouldn’t buy technology for the sake of technology. So here I am in 2015, phones for the most part are more or less commodotized. The difference between one phone to the next is going to be CPU, RAM and screen size. All of which really aren’t interesting from a consumer perspective. Sure – phones are faster. But for the general consumer, most phones are fast enough; for me, phones are fast enough. Sure, you can get bigger screen size but at some point screens are just getting too big. For me, after having an OnePlus One, I have to say that the largest size phone I want is going to be around 5”. Anything bigger is just too uncomfortable. I swiftly debated about getting a Samsung Galaxy S6 Edge because it was different – the curved edge could pose to be an interesting UX paradigm. However, that’s really pushing it. If I have a hard time justifying buying a new phone, it’s even harder to justify buying a personal computing device if it’s not broken and let’s face it, MacBooks for the most part last 4 years which is forever in terms of technology.
So this led me down a different path of reflection – what would I consider interesting tech that I would invest in? If hardware is starting to become commoditized, then what would I look for in new hardware. After a long period of reflection (primarily through writing this blog), it made sense for me that consolidation of portable technology would likely be a large theme for me in terms of next technology purchases. For context, I carry a phone, tablet, lightweight computer whenever I am not at home and I find myself carrying a lot of different accessories to support these devices on the road.

Continue reading “Hardware Reflections – USB C and Wireless Charging”

What’s in my bag – the daily version

My daily needs is geared primarily towards my commute to work and the time I spend around the office. With most of my recent roles, it’s really rare that I’m at my desk. Also, the commute on the subway is the rare time of my day where I have to myself to read, write, code and sometimes just listen to music while I doze off. Since this is a daily commute version, I wanted to carry what would be the absolute essential and nothing more as weight becomes an issue very quickly as I’ll be lugging this in my bag daily

Continue reading “What’s in my bag – the daily version”

Commuting and my random gadgetry

I’m commuter and I started this blog post primarily to help me rationalize what’s in my bag as over the months I commute to work, my bag keeps getting heavier daily until I do a purge and begin that cycle again. For myself, I find I get this way when I’m not cognizant of what it is I’m trying to accomplish and loading up a bag with more stuff is always easy until it gets so full where it gets to the breaking point. Like many people, I’m a commuter in multiple aspects:
  • I travel to work daily on local public transit
  • I travel weekly to out of town for day trips and sometimes overnight trips
  • I travel yearly for vacation

Continue reading “Commuting and my random gadgetry”

Unable to re-install Windows 8

I decided to downgrade my computer from Windows 10 to Windows 8 today and was unable to re-install Windows 8 initially. Whenever I tried to install Windows 8, I kept running into the issue where I got the following error “We couldn’t create a new partition or locate an existing one.  For more information, see the Setup log files.” After banging my head for a while, I came across a number of articles including this one which I took the steps from.

  1. Remove all drives from the computer. This includes hard disks, usb disks and also any PCI-E disks you might have
  2. Reboot the PC with the Win 8 CD in and select repair
  3. Head over to the advanced tools option
  4. Once in the command prompt Type the following:
    SELECT DISK <whatever disk number you have>
    ASSIGN LETTER=<whatever disk letter you want it to be>
  5. Repeat the steps above for all other Hard Disks present but don’t make any other disks active
  6. Reboot and start the installation again

I think I ran into this issue primarily because I also dual boot my machine between Ubuntu and Windows and Windows 8 doesn’t seem to like seeing a GRUB partition in existence.

This works with Windows 8

Installing Ansible on Ubuntu

The easiest way to get the latest version of Ansible consistently is to not depend on the OS repositories (i.e. homebrew or apt) but rather through PIP.

Install the development tools

sudo apt-get install python-dev python-setuptools build-essentials

With that install, you should get easy_install as well

Install PIP

sudo easy_install pip

Now with PIP installed, you can quickly install Ansible

sudo pip install ansible

I found that I needed to install python-dev and build-essentials to compile any of the necessary files

Hope this helps!


Organizing Ansible

While we’ve been using Ansible for almost a year at Kinetic Cafe, I’ve been spending a lot more time with it at a personal level. A big part of it is that I tend to really like being familiar with the tools that my team uses at work and the other is because I actually have a lot of home and cloud servers running because I tend to like being familiar with the tools that the team uses at work. Ansible’s strength stems from the idea that you can ssh to a server and perform a series of tasks based on modules already built for you. At it’s core are concepts like inventories, roles, handlers, dependencies and variables but then allows users to use it in many different ways within that structure. However, this flexibility lead to chaos when I started to use it so I took some time organizing Ansible in a meaningful way for my home infrastructure.

Continue reading “Organizing Ansible”

Problems updating therubyracer gem in Yosemite

I decided to run a bundle update on one of my core projects today and lo and behold, I received the following error:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

 /Users/kelvin/.rbenv/versions/2.2.0/bin/ruby -r ./siteconf20150415-9556-1l623l4.rb extconf.rb 
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
clang: warning: argument unused during compilation: '-rdynamic'
In file included from
In file included from ./rr.h:6:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:265:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
1 error generated.
make: *** [accessor.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/kelvin/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/therubyracer-0.12.2 for inspection.
Results logged to /Users/kelvin/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/therubyracer-0.12.2/gem_make.out
An error occurred while installing therubyracer (0.12.2), and Bundler cannot continue.
Make sure that `gem install therubyracer -v '0.12.2'` succeeds before bundling.

It turns out that there is an issue with the command line tools in Xcode 6.3. So you have to revert back to Xcode 6.2. For a full reference, here’s the link from StackOverflow where I got my information from.

Unfortunately, there’s not an easy way to directly link to the download but here’s the link to the general Developer Downloads from Apple



My first forray into Ansible

Learning Ansible has been on my to-do list for a very long time now but I finally found the time to learn it, play with it and even write scripts to

  • create a server on Vultr
  • configure a server based on my preferred configuration
  • deploy an Apache server and a MySQL server
  • Configure the Apache and MySQL server for WordPress
  • Restore my old WordPress install to the new WordPress install

Continue reading “My first forray into Ansible”