Author: StuRyan

Cord Cutting Part 2

Cord Cutting Part 2

So, a few weeks ago I cut the cord and got a Roku. I figured a couple months of trial and error would ensue. Interestingly, it has been easier than I thought to be a cord cutter. There are issues, but none I find insurmountable.

Let me explain….

  • Its a lot like using your smart phone. Roku channels are apps essentially. Some like Sling TV have lots of options in them and require a subscription. Other like Stargazer (international space station video) are free, but have ads (e.g. commercials).
  • You’ll have to change how you surf and consume entertainment. If you are mostly Netflix or such driven, it will be easy. If you are used to flipping between channels (ABC, NBC, Fox, CBS, etc..) watch shows. Well that will be a lot harder. Simply put, if you are still consuming TV like you did in the 70s, 80, 90s and 00s, then it will suck for you. This is not like that.
  • Its not a DVR world (though that is happening too). You will stream like you do with Netflix and just like Netflix it is what’s available this week/month. You don’t record and playback, you search and consume.
  • Free content, though interesting, is not as good as paid. It costs money to produce good entertainment. So expect that you will need some paid content. Be picky, choose wisely, but mostly feel free to pick up and drop at as you need. No reason to pay for Netflix or Sling every month if you are using it at all.
  • Though somewhat À la carte, it is not really there. Frankly, that may be worse for us when they do get there. Sure I get a bunch of useless channels with Sling TV, but if I had to pay for each channel that I like watching. It would be more expensive. Imaging liking 10 channels with each costing $3-5 per month. That would be more than the 25 or so I get for $40 with Sling TV.
  • If you experiment, you can find some really interesting free content. I am enjoying TED talks – its funny and interesting. Smithsonian, Popular Mechanics, and Reuters all all neat. Still need to signup for curiosity stream, but work has just been super busy and I haven’t had much time. Plan to try it out soon.
  • One issue I have is “local weather and news”. I am into watching the Weather…. Here is Clearwater, Florida Brighthouse Networks (now Spectrum) has Bay News 9. A local news channel focused on the Tampa Bay area. Every 10 minutes is the weather traffic and the news loops every 30-60 minutes. This I really enjoyed and is what I miss the most. Didn’t realize how much I actually watched it! So I am still trying to adapt news and weather consumption to my “cord cutter life”.
  • Expect delays and bad “apps” (channels). There are some channels that just are buggy or don’t work. Its no different that you smartphone apps. Until more content creators join in and the business model flushes out, you’ll have a big disparity between good content and the junk out there.
  • Bandwidth/Wifi/Network – If you have a lot a “streamers” in the house. Get some bandwidth it will be worth it. If it is only one or two, that 50-100 mb connection is fine. Make sure if you are streaming on Wifi you have a good single where you need it (recommend checking the signal strength – “WiFi Analyzer” is a free Android app). I have one Roku on WiFi and I am thinking about running a network line over to it. I get some signal interruption.
  • Last, if you are getting a Roku then make sure you get one of the good ones. The delay if you get the cheaper units is a bit annoying,

So far, I think this has been good and have only a few complaints. Still think the experiment is on going, but I am pretty sure this will be a successful life experiment.

 

 

 

Cord Cutting Part 1

Cord Cutting Part 1

cordcutterNote: This started out as an email to my sister… Instead, I decided to post it on my blog.

Over the last few months I have been considering “cutting the cord“. We really stopped watching the garbage of TV over the last few years. Outside of a few things that were part of our cable service, we didn’t watch or even DVR much of anything. So I have started the process of cutting the cord.

A week ago I signed up for Sling TV and ordered a Roku Premier +. I watched a few shows on Sling TV like History Channel and some soccer matches on our Xbox One. It was OK, but kind of a bad experience. I had heard from a friend that it is better on a Roku, I waited until we got it.

Initial thoughts….

  • If you are a TV addict and watch all the big shows when they happen… Stick with Cable. If you don’t care about the current top 20 TV shows, then this is an option you can consider. I cannot name any of them and if I can, I couldn’t tell you if they were still on.
  • Sling TV is OK, but nothing amazing. The selection of channels is fine, but the amount of good content for streaming older episodes is weak.
  • Sling TV on the Xbox is a bad example of how the service works. It may look the same, but is really slow. On a Roku player (not the stick) it is pretty quick with very little delay.
  • Roku player – Get a good one. Pay for the Premier or Premier +. Its worth it for the better device.
  • Be prepared to compromise. Cable has a long history of getting content and free is not the same. You will get commercials like the old days or live channels. This will change your viewing habits. Frankly, that is probably a good thing.
  • Be prepared to pay for a few services for the more premium content. Sling TV, Netflix, Amazon Prime, Vudo, Hulu or HBO are things you might want. I don’t think you need all of them, but maybe Sling TV and Netflix are some must haves.
  • Start finding new and interesting things to watch. I am watching a lot of TED talks and National Geographic on Sling TV. I am interested in Curiosity Stream, so that might be worth the $3 or $6 plan.

Why do this… Well, I have a $160 a month cable bill  + Netflix ($10) + Amazon Prime ($8) = $180~. If I need just internet ($50 for 100 Mb) + Netflix ($10) + Amazon Prime ($8) + Sling TV ($40) = $108~. That is at least $70 a month. So two Roku devices for our two TVs gives me a $600 + a year savings.

Last, I don’t like most of the main stream media. It is really just crap and lowbrow entertainment. So why pay for something I don’t like, watch or support?

How to Install and Secure MongoDB on Ubuntu 16.04

How to Install and Secure MongoDB on Ubuntu 16.04

I found this on DigitalOcean and think it is a great walk through of install and securing MongoDB on Ubuntu 16.04.

One note, I had to use BindIp = [127.0.0.1,0.0.0.0] to get multiple IPs to work. The format shown “BindIp = 127.0.0.1,0.0.0.0” would cause Mongo to not start.

0.0.0.0 represents whatever IP you are trying to bind.

sudo apt-get install mongodb-org

Source: How to Install and Secure MongoDB on Ubuntu 16.04 | DigitalOcean

 

 

Deploying Python App to AzureWebsites

Deploying Python App to AzureWebsites

Note: This was originally created on my azurewebsite that I learned to deploy with and can be found on my github page.

Preface
I have only been programming in Python for a few months (December 2016 to March 2017) when I decided to deploy a simple Flask app to Azure. I found that the documentation was lacking, confusing and written for someone who knew both Azure deployments and Python well which is not me.

So this is the result of what I have learned so far.
What you will need 1) an Azure account, 2) FTP Client like FileZilla, and 3) some type of IDE or text editor (Notepad, Note++ or Visual Studio Code – what I use).

Deploying a Simple Site

First, you will need an Azure account. Signup for the free tier, which allows 10 Azure Websites and 1 GB of storage (as of March 2017).

Once you have signed up to Azure.

Create a New website. Web + Mobile > See All > Search for Flask > then Create your site. Once deployed you will be able to download it via FTP.

The template looks like this.
sshot-4
Changes for you app

Web.config

Under appsettings change the FlaskWebProject1.app to whatever your app name is (folder).

Under rewrite node find the action type node url=”^/FlaskWebProject1/static/.* to you app name (folder).

App Folder Name

Change the name of the folder to whatever you named the application in web.config.
Runserver.py
Change the from FlaskWebProject1 import app to your applications name.
__init__.py
Change the import FlaskWebProject1.views to your applications name.

Views.py

Change from FlaskWebProject1 import app to your applications name.
Testing
Then run your application (python runserver.py) to make sure it all works. Default is localhost:5555, but I changed the port to 5000 and it has been running fine. If you are using a virtual environment ( pip install virtualenv and then env\Scripts\activate) then then make sure you have installed the requirements.txt ( pip install -r requirements.txt).

FTP your site to Azure

With your site working locally (localhost), its time to upload it to Azure. On the Azure portal for your Website, select QuickStart and Python. There are several options to deploy your application to Azure, for now we will use FTP. Select that as your option and follow the directions.

sshot-7.png

Once you have your credentials setup, use an FTP Client like FileZilla (what I am using) and setup a connection.

sshot-9
Once you have connected to Azure, load the entire contents of the site into Site > wwwroot.

sshot-8
It can take a few minutes for Azure to get your application running. But you should have your site up and running now.

Azure VM – Network Security Group

Azure VM – Network Security Group

Recently I created a new virtual machine on Azure. It’s been awhile since I’ve had one, so I went through securing it. Made sure I had a firewall running and using Fail2Ban to stop brute force attacks. Or at least I thought…

I found that I was banning IP addresses by the hundreds a day trying to log into SSH. Seriously, what the hell! 90% where from China so I looked into seeing if I could ban whole countries. That just seemed extreme. It occurred to me to just allow logging in with specific IP addresses, like from my home or work.

On the server itself, I found this to not actually stop the attempts. Since they could still try to log in. So instead I used Azure’s Network Security Group to limit access to just my home IP address. This means I can edit access if needed, but prevent the endless hacking from China, Russia, Ukraine, and other locations.

Nothing against, those countries, but I don’t need the security hassle from whomever is really hacking me.

On a side note – The recent hacking of the US Democratic Party (DNC and John Podesta) during the 2016 election cycles, really shows how poorly people take security. I am no expert, but come on… Password as your password? That is just stupid.

Foghlaim Python

Foghlaim Python

pythonlogoI started learning python last December (2016). I have been enjoying the language, but some aspects have been a little odd to learn. It is open source, so that makes it really strange after nearly 20 years around Microsoft and other proprietary technologies.

Couple items I had to figure my way through….

  • Vernacular – Open Source has a made-up language. Whatever someone thinks is funny or cool, it gets named that way. Take Django… Sure jazz is cool, but how does that describe a full framework? Microsoft has a marketing team, so WPF (Windows Presentation Foundation) at least sounds close to what it does. So, it takes longer to get absorbed into the culture.
  • What is the way to learn? there is no cohesive path into Python, Java, or any other open source language. Still, it allows for more choices in how you like to learn, but makes it harder to adapt to the culture.
  • Which library or framework to use? JavaScript I think is the best example of this. Angular, Typescript, Node, React,… the list goes on and on. Literally

Though it has been confusing at times. I have really enjoyed the switch to Python. To help myself learn, I created an azure website to build some examples on. Still need to complete part of it, but you go to foghlaimpython.azurewebsites.net and see what tutorials I have been playing with. It includes how to get Python 3.5 running on Azure.

Oh and by the way, Foghlaim is Irish for “learning”. So Foghlaim Python is learning Python.