the bytes

the bytes

hello me, it's me again

Install Kodi on the Firestick for Mac

Have to keep it current, and my last post was a little out dated.  In a nutshell, with so many things to remember, this is one of those “back burner” items that needs to be stored somewhere.

This is the process of loading Kodi onto an Amazon Firestick.  I primarily use for all of my extras, but this is a quick reference guide to assist the process.

First, make sure to enable Developer Options and ADB debugging on the Firestick (in the settings).

Then the homebrew/adb tools are needed. To install the homebrew requirement for adb and the adb tools, do the following below in a terminal:
ruby -e "$(curl -fsSL"

brew install android-platform-tools

Next, you will need the IP address of the Firestick. In setting, go to the About and Network section and get the IP address.

Download the latest stable Kodi app here.

Connect to the Firestick using adb:
adb connect

Install Kodi.
adb install

After that, you’re all set, you just need to follow the website guide for adding apps to Kodi.

Enable WiFi Tethering on Android 6

Since the tethering option has disappeared on some Android devices, all you have to do is add this line to your build.prop file.  (I just downloaded a build.prop editor and you will need to be rooted)..

Save, then reboot and you will have the WiFi tethering option again.


My Stab at Google OnHub

We all suffer from crappy wireless reception in our homes.  These days, too many people have WiFi and the airwaves are nothing shy of a horrible RF traffic jam.  After doing some research, I decided to invest in the Google OnHub router.  There were only a few things that I was looking for in the configuration; port forwarding being the top of my priority list.  Google advertises that their product is a top of the line router… “Better. Faster. Router.” Although I don’t argue the fact that it’s an amazing piece of hardware, there are just a few things that you would expect in a router.

For starters; the setup was stupid simple.  Simply plug it in, download the app and follow the very simple instructions.  After about 10 minutes of updates and a few things to fill out, you are all set.  There is on website to access, no 192.168.0(or 1).1, or other complicated setup procedures.  If you want to change any of the settings, you simply can’t.  It was designed so that your grandma could plug it in and get it working.  Everything is in the cloud.  The downfall is that, if you lose internet, you lose the ability to control your router…. even if you are home.

Here is where I realized that things weren’t right.  My IP address for the internal network was  ????  86?  What is that?  You can’t change it.  My OCD was having a hard time dealing with that.  Not a deal breaker though, I just had to go change ALL of my static IP assigned devices on the network to reflect the proper IP.  And then I got to the port forwarding.  So, I might be a bit lost here, but; if you have the ability to port forward, that would mean that you’s probably like to access something inside of your network from the outside (like a webserver, NAS drive, security cameras, etc.)  For me, it was the web server.  I get all of the port forwarding setup (which is weird, because the network inherently has DHCP, and the only way to have static is to setup DHCP IP reservations).  Again, not a problem, easily accomplished with finding the device name and assigning an IP reservation to it.  Once that’s done, you can configure port forwarding.  Here is the catch.  NAT loopback isn’t supported on the OnHub device.  It took me a minute to realize what they’ve done here.  Google has allowed port forwarding but disabled the ability for you to access your public IP address from within your own private network.  (let that sink in).  One of the MOST basic features of an stupid common and cheap router… NAT Loopback.  So, in a nutshell, if you want to setup an awesome NAS drive, Plex Media server, in home security cameras, web server, or any other DDNS related hardware that would require your external IP address from within your network; you can’t.  I’m sure I could try and access via a proxy server, but why?  If I can’t access my own network from within my network, then that makes this awesome piece of hardware useless.

The plus side to this piece of hardware is that you can set it in bridge mode.  After all of this, I disabled the wireless signals on my old Asus router and bridged the OnHub to be my wireless antenna.  It’s not the best setup because I have two routers right now, but until Google fixes this, I don’t see a good future for the OnHub in my house.

Switching to Google Domains

After doing some research, I found that Google now offers a dynamic DNS service with their beta addition, ‘Domains‘.  The transition was fairly simple, with a few minor hangups on some of the configuration.  They have a fairly simplistic configuration page, but it’s highly customizable and clean.  The only downfall is; there wasn’t a lot of documentation on the setup procedure and what was provided was didn’t cover a few topics that could make the process frustrating.

  1. When reading about the DDNS setup, the guide refers to most everything with in the resource (www) as the subdomain.  The guide alludes to the simplistic setup by adding an ‘@’ as in the sub domain block to setup the DDNS.  After configuring your ddclient.conf and adding the domain name, you’ll notice that the update doesn’t work properly.  Maybe it’s just me, but I don’t consider www as a sub domain (or maybe it’s all just a play on words in my own head).  Anyway, to sum this part up, don’t use ‘@’; use www in the sub domain block to properly setup your DDNS configuration.
  2. The configuration of ddclient.conf was another process all in itself.  I am running my webserver on arch linux and maybe there hasn’t been a push for ddclient to have support for Google Domains yet.  I tried using the recommended configuration for Google Domains, but that didn’t push any updates for DDNS to match my IP address.  Long story short, I had to use the alternate configuration ‘without Google Domains support’ but making a slight modification to the use by adding the web for obtaining the IP address.

    I had been receiving errors that I couldn’t get my IP address. Not sure if it was a local network NAT issue caused by my modem and router of if it was operator error, but regardless, the above configuration worked (sort of).
  3. The last thing I noticed was; ddclient likes to have the password enclosed with the single quote marks.  Note that all of the ddclient config examples (on their wiki and on Google Domains) doesn’t show these marks around the password.  My recommendation is; add them!  The end result of my configuration file for ddclient looked like this:


One Sign

Finally knocked the dust off of the CNC table and started working again.  One of my first projects was to create a simple sign for my daughters upcoming birthday.  Here is the “One” sign result.

IF you are interested in downloading this design, you can purchase a copy here.

New Bowden Extruder

Now the 3D Stuff Maker printer transformation is complete. 3D Stuff Maker’s extruder was a real piece of junk and continually clogged up during every print causing many problems. After getting the Bowden Extruder printed, I had to make a custom slider to mount on the rails, but now I have the new extruder in place and it is far greater than what 3D Stuff Maker offered.

PHP Updates on Arch Linux

If your personal webserver is running Arch Linux and you just recently updated, make sure that you check the files you are updating. the php package just recently updated to php-7.0.2-1. While this might sound good, what you are most likely going to forget is that you will need to update your httpd.conf
In /etc/httpd/conf/httpd.conf:

Find and replace…

LoadModule php5_module modules/


LoadModule php7_module modules/

and also in the Include section, find and replace…

Include conf/extra/php5_module.conf


Include conf/extra/php7_module.conf

Restart httpd and this should fix your ‘lack of loading’ issue.

My CNC Operations with Linux

It’s a piecemeal of software tools to get this going, but it works. I refuse to work in Windows. There are too many things that can go wrong and with the amount of data transferring to the machine, I’ve seen the blue screen one too many times. Linux is a way more solid OS and it’s stability is far superior!


  • For 2D and 3D design, SketchUp 8 through Wine. I have a few plugins, SVG Exporter and STL Exporter (there are plenty in the warehouse and on Google too).
  • For 2D design, Inkscape is a perfect tool as well.

CAD/CAM to GCode:

  • Web based tool called MakerCam (I have it hosted here).
  • Another good one is PyCam.

Machine GCode Processing:

  • The only one that works over USB and is worth anything is UGS. It’s free, and it gets the job done.
  • Of course, the better option is LinuxCNC, but it still doesn’t support USB, so you have to go over serial port.

I would love to say that there are many other options, but I have been searching for a while and the results are very disappointing. I know that Inventables has their own, in house, developed Easel, but sadly, the local installer is for Windows and Mac. So, you can use it to design (which, the design element is very similar to Microsoft Paint, but that is the extent.

The new CNC Table, X Carve 1000

And here is the newest addition to the garage. I finally got a new CNC table; and a large one at that. After a few (broken) days of assembly, she came together with motion and all. I’ve yet to test it cutting, but that is coming very soon! There are still a few things I need to figure out (like the support for open source, and which software suite to use… Grbl, LinuxCNC, switch to Windoze?!). So, Grbl seems to be the simple route, but I like the idea od LinuxCNC more. The problem is that; i don’t know if LinuxCNC supports gcode over USB. I have a lot of testing and configuration to do and there are a ton of things that I want to make, so I really need to get started.