Ubuntu 18.04 Chronicles: removing cloud-init

You just deployed yourself a fresh copy of Ubuntu Server 18.04 Bionic Beaver. It should be the latest and greatest, and you just need a virtual machine to do some web development or perhaps you just want to enable IP forwarding and use this machine as a router. That’s great, except the latest Ubuntu assumes that you are part of the current trend to put everything in the cloud, and so ships with something called cloud-init.

No harm normally, but this wastes valuable seconds doing something you don’t need if you’re not in the cloud. It’s easy to remove this package by following the (modified) instructions here: https://makandracards.com/operations/42688-how-to-remove-cloud-init-from-ubuntu :

  1. dpkg-reconfigure cloud-init
    1. Then deselect all the options except None
  2. sudo apt-get purge cloud-init
  3. sudo mv /etc/cloud/ ~/; sudo mv /var/lib/cloud/ ~/cloud-lib
    1. I prefer to move, rather than delete, in case something goes wrong and you wish to restore the files.

When you remove cloud-init following those steps, your machine stops booting and there is apparently a service that is waiting for network to be up. This would normally be just an inconvenience, but the boot hangs indefinitely waiting for said network. Odd choice of configuration out of the box, but anyway, you can fix this by:

  1. List the services which depend on network being online.
    • sudo systemctl show -p WantedBy network-online.target
  2. This will list the culprits as some iscsi services that you probably don’t need.
  3. Disable the services
    • systemctl disable <service name

That should do to get the system booting without some service waiting endlessly for a network connection.

How To Run Need For Speed Most Wanted in Fullscreen

In a bout of nostalgia, and seeing as the game was now reasonably cheap on PC-DVD, I got myself a copy of EA’s 2012 (personal favourite) Need for Speed Most Wanted for PC. They didn’t port this title to PS4 of Xbox One.

Amazon provided prompt delivery in their usual style and I was up an running the following night with only one problem.

It was running terribly slowly on my 4K monitor using the not-so-high-end Nvidia GTX 960. The reason this was so was that the game had launched itself in 4K resolution with all the graphics settings jacked up to the max, and was running in a very large window as a sort of mock full-screen.

Not nice. I went into the game’s settings and set the resolution to 1920×1080, leaving graphics at max quality still and ended up with a tiny 1080p window in the corner of my screen. Grrr!

No option in settings to put this into fullscreen mode and scale it appropriately. Googling this led to an odd article from 2012: https://amittoor.blogspot.co.uk/2012/10/run-nfs-need-for-speed-most-wanted-in.html which suggested a registry edit which totally didn’t work, but it did trigger a memory I had of the graphics settings on my GPU.

Basically, I’ll put the steps down here for ya:

  • Open nVidia control panel (or your GPU’s control panel)
  • Expand the Display subtree and select Adjust desktop size and position
  • Select the display you desire if using multiple displays.
  • Select “Perform Scaling on GPU”
  • Tick the “Override the scaling mode set by games and programs”

That should do the trick. It appears that EA programmed the game to always try to do scaling on the Display or in software, which probably made sense when the game was being built as home users probably wouldn’t have 4K or higher resolution displays.

 

Android TV Series: Samba Services wants to track your viewing, and you can’t kill it

The latest instalment in life with an Android TV. The picture above says it all. Samba Services is an app on the TV that Sony uses to analyse what you’re viewing so that it could build a marketing profile for ad targeting. You can disable this service like most non-system services in the apps list, and you can also execute the setup of the app and opt out of the tracking.

You would think that if you’ve opted out of the service, and then gone to the apps manager and disabled the service, that would be the end of it… Wrong! You apparently can never stop the app from running. When you disable it, you get an infinite loop of popups as pictured above.

Searching the web, you wind up at a Sony Forums post: Samba Services Manager has stopped . The only way to get rid of the message is to re-enable the service.

Day by day, android TV gets me closer to becoming a believer of the Apple way.

Tracking Internet Data Usage – Advanced Tomato Style

A not oft discussed topic in router reviews (which are a dime for a dozen on the web) is how  to see just how much data your household is consuming.

Here I attempt to fill that gap by outlining the capabilities that my my router which is powered by Advanced Tomato provides. This is not a general review of the router software (which is excellent), but just some screenshots and some discussion about the bandwidth monitoring capabilities so that you can look before you leap, if you’re in the market for something that provides you with good statistics.

The router software provides two primary views by which you can monitor bandwidth usage. They are called “Bandwidth” which tracks total usage of the device across all it’s interfaces, and then there is “IP Traffic” which is useful if you want to get per-connected-device granularity.  We’re only going to cover the bandwidth monitor, but you can be confident that the per-IP statistics are just as granular.

Realtime Bandwidth Usage

Realtime Bandwidth Page

 

The realtime bandwidth page provides an instantaneous view of all the traffic going through the device. I personally struggle to make much sense of the way the view is subdivided. The LAN (br0) is the bridge that links all the interfaces on the device (the two Wifi Radios as well as the 4-port gigabit ethernet switch — I’m using an Asus RT-AC56U).

You’d expect whatever is shown in the WAN tab to be what’s actually leaving your local network onto the wider internet. WL (eth1) and WL(eth2) reflect the 2.4Ghz and the 5GHz wifi radios. It’s unclear what Eth0  represents, but between Eth0 and Vlan1, one or both of them represent the 4-port ethernet switch present on the device.

Last 24 Hours Bandwidth

24 Hour Bandwidth chart

The 24 Hours Bandwidth chart is a little more interesting. Shown above is the WAN coverage. This presents a 24-hour view of the internet. The Y-axis shows the peak average speed and the X-axis represents time of day. Shaded areas represent times when data was being transferred. Grey shades represent downloads, blue-ish shades (which are hardly visible) represent uploads.

You  can see that large file downloads will represent comparatively wider “mountains” on this graph, and the faster the download went, the taller the mountain will be. A small, fast download will be a very thin and tall mountain.

Daily Bandwidth Usage

The total transfers done per day are detailed here, going as far back as your router storage permits. This is an aggregate of internet  bandwidth usage across all devices over the date measured.

As you can see in the chart above, we did a lot of downloading/streaming on  2018-01-05.

A similar view is provided for the weekly bandwidth chart.

Monthly Data Usage

Monthly data usage

The most interesting chart to me is the monthly data usage. It allows me to see how much data we consumed going back as far as I want, grouped by month. The top-billed month would have been October 2017 if we didn’t have an unlimited Internet Connection.

There aren’t many routers out there that can provide this kind of information. The closest competitor I have found is Google Wifi, whose statistic go back at most 60 days. This is partly the inspiration for this post. I’ve been evaluating migrating to a multiple access point system in order to improve coverage in certain parts of the home, and it’s very difficult to find out how modern-day competition compares to this configuration in terms of usage statistics.

Fixed: Dell 4K Monitor Windows Resized and Moved on Wake-Up Windows 10

If you’re suffering from the problem where after you resume your PC from power saving mode (usually monitors in standby and screen locked), and windows get re-sized and re-positioned in the top left corner (or just where you didn’t put them), you may have found yourself reading Dell’s article http://www.dell.com/support/article/uk/en/ukbsdt1/sln295708/display-windows-move-resize-after-resuming-from-sleep-state?lang=en and wondering how resolution has anything to do with the problem.

Worry no more. It’s a 3-step process to fix it. You just need to do it  from the monitor’s external/physical power management settings.

Witness the photo below.  Since the power management appears to be at fault, I have to assume that the monitor actually powers itself off, causing  the OS to think it’s disconnected, which results in windows being rearranged. Flipping this setting to “Never” fixes the issue for me. The display continues to go into power-saving mode controlled by the OS.

 

Was this post helpful in solving your problem? Please leave a comment!

 

Android TV home screen

Android TV Review By an Actual User

Sony KD-55XE8596

You’re curious what this Android TV thing is and what’s in store for you if you wind up with an Android TV; Read on.

You probably know that Android is the Ubiquitous mobile phone OS (Operating System) made by Google. It’s been adapted to fit TVs and some manufacturers are making TVs that ship with this OS built-in — theoretically opening up access to potential value offered by the Android platform:

  • relatively open platform
  • more apps than you could ever need

Not exactly. As far as apps go, Android TV is not much better than any other TV OS out there. As you can’t simply execute any mobile phone app on the TV (which is sensible considering the different input sources available on phone vs TV), the app selection is limited to apps that have been designed for TV. For TV-related needs such as watching videos, playing music and playing video games, there isn’t much to complain about.

You should assume therefore that Android does not confer any special advantages on your TV even while it brandishes the highly charged green droid icon. As far as I can tell, all the TV services available on Android TV are available everywhere else. For the UK, this means: BBC iPlayer, ITV, Channel 4, Demand 5, Netflix, Youview…

I will spare you the typical talk about beauty (it is beautiful to me), organised (I think that at least Google put some thought into menu layout) and Sony generally in keeping to tradition makes a well-laid out remote control.

Honourable Mention: Line-of-Sight Bluetooth Remote

One specific feature that deserves honourable mention, and one of those features which I think reminds us that is Sony in the same class as Apple when it comes to UX design is the fact that the remote control for the TV is a bluetooth device, but unlike most bluetooth remote controllers, it requires Line-of-sight for every function that does not require bluetooth to work (that is, it uses infra-red for most functions, and bluetooth for voice). This is important because:

  • it prevents you from accidentally operating the remote control when you’re otherwise simply moving it away from the spot on your sofa that your feet have just now decreed that they wish to rest.
  • if your toddler lays their hands on it while you were watching something, they can do limited damage unless they aim it at the TV 🙂

It must therefore, make it’s mark — or miss it in how well it serves you as a TV. In this regard, for someone who upgraded from a previously dumb Panasonic TV from 2013 to a Sony XE-85 series Android TV, there is a mixed bucket of hot and cold, resulting in an overall neutral if not slightly negative result. Here go the key things I’ve noticed shifting my habits to work within Sony’s implementation of Android TV.

Slow and Steady Almost Wins the Race

Out of the box, the TV was a laggy and relatively frustrating experience. This is pretty much fixed in the latest firmware (PKG6.2671.0070EUA at the time of Writing this — 31-Dec-2017). Remote control input is generally relayed fast enough to match expectations.

It makes me wonder if it’s a lack of computing power, or just insufficient software optimization, but one of the still-noticeable deficiencies is with voice input: it takes a few seconds after clicking the voice input button before the system is actually listening to you… Why?

High-Decibel Unwanted Movie Trailers

Sony’s Android TV will “helpfully” start showing you movie Trailers from Google’s Play Store when it thinks there is no active input source currently available, and there is no way to turn this off. This happens frequently for example, after a gaming session on a playstation 4. When the console goes into  standby, the TV will automatically start playing movie trailers at a volume (anecdotally) 50% higher than what you were previously listening to, startling everyone in the room in the process.

This is even more frustrating because the “Prog +/-” buttons which are unneeded if you don’t watch Terrestrial/Youview TV will automatically launch these high-decibel trailers if you accidentally press them, since the spam is launched whenever you try to switch inputs and there is none available.

Voice “Maybe” Control

Google’s voice recognition is generally accurate enough to be acceptable. The trouble with the implementation in Android TV is the fact that the voice input button is not unversally supported, and they haven’t done a thorough job of classifying what voice commands are global, and which are app-specific.

You  would think that if you said “open Netflix”, that would be a global command that would do exactly what you ask wherever in the TV you happen to be, but in practice, what it does depends on the app you’re using. In youtube,  voice input “open Netflix” will do a Youtube search for “open netflix” and show you a bunch of videos you do not want. In the Netflix app, the voice command does nothing… Heh.

Being familiar with Computing, I can understand how difficult it is to build software systems, and you could perhaps expect future updates to improve this. The only catch is, at approximately one firmware update per Year or more, this may never reach it’s full potential in it’s lifetime. Perhaps Netflix may update their app sooner and improve this?

Half-Hearted Amazon

It’s well-known that Amazon is the sworn enemy of Google and Android (to Amazon’s detriment, in my view), but Sony somehow got Amazon to make the Amazon Video app for it’s Televisions. As a Prime Member who periodically wants to watch The Grand Tour, the app is a helpful addition (which spares me from using a video game console, as Amazon flatly refuses to implement Chromecast support).

As someone who likes watching high quality video, Amazon just can’t help but keep treating it’s customers with disdain. Note, all my vitriol is directed at amazon in this section, but as this contributes to the overall experience of using Android TV, it’s a slight dent on the platform as well.

Amazon’s Android TV app has the following problems:

  • video playback stutters badly when you adjust volume, and sometimes just on it’s own accord
  • the app quits when it’s backgrounded. So you can’t easily go do something else briefly and then come back to the home screen and hit resume on your video.

What Amazon fails to understand is that they’re not somehow making me seek out Amazon hardware by making it difficult to get their stuff on Android. They just make me use Netflix more, except of course for the one Amazon Exclusive show that I care to watch (Grand Tour).

Dear Amazon, you should make your content easier to access by your customers no matter what platform they are  on, like Netflix does.

Chromecast Built-in

The Chromecast is a useful device. An essential device for anyone who occasionally has people over and they need youtube music to keep the guests entertained. Youtube has a nice feature where a group of people connected to a Chromecast can queue up music to play centrally. This is how parties rock in the future where building codes pay no heed to sound isolation and you still need something to link people together and get them grooving.

I have found nothing yet that works quite as well as letting everyone take turns playing their favourite songs. Even at low volumes, it generates a lot of discussion and debate, which is a key ingredient of a low-key house party.

Having the cast protocol built in means that you can for the first time use the Play/Pause, Skip buttons on the remote control to control cast playback, something that the standalone Chromecast quite oddly does not support.

Solid HDMI-CEC

Again, Sony reminds of their class. The HDMI-CEC implementation is seamless. It makes sense why the Playstation 4 does not have a Sony media playback remote control. With the exception of Startup where you need a PS4 controller to sign in to your profile (since the HDMI CEC way of “pressing the Home button” is a bit convoluted), you can control the entire media playback experience using just the TV remote. Disc Menus, subtitles, audio, pretty much everything I use when watching blu-ray discs.

Routing audio via ARC to the AVR is seamless, and the volume controls are routed sensibly. Well implemented stuff (Microsoft, get your act together).

Google-Centric Recommendations

Android TV home screen
Home Screen

The home screen has a row of recommendations. I don’t recall ever seeing BBC iPlayer or Netflix or Amazon content there… perhaps the developers of those apps have not bothered to implement this feature. Can’t blame Android TV or Google for that.

Notice the Recommendation about Make-up? LOL. If that were based on my viewing habits, it should be suggesting yet another review of the Mercedes S63 AMG.

Notable Absentees

It’s worth pointing out some things that I have not yet discovered, that I wish were present.

No Remote Control Finder

I often lose sight of the remote control, and this being a bluetooth device, you’d expect that there’s a beeper built-in so that if you pushed the “beep” button on the TV, the remote would start making noises, making it easier to detect which section of the sofa it’s crept into. You’re out of luck on this one.

Only Two  of the HDMI ports accept 4K-HDR inputs on my Sony XE-8596

HDMI 2 (Audio Return Channel) and HDMI 3 are the  only inputs that will accept a 10-bit input signal. This is a shame, because if you read the product specifications, it says “all input support 4K connected inputs/devices”. What isn’t very clear is that 4K does not automatically mean HDR… so… if I ever want to connect more than 2 HDR devices to this TV, I’d have to get an AV-Receiver which supports HDR inputs.

Conclusion

Android TV is a usable implementation of smart TV functionality. Sony’s design is well-thought out and the built-in Chromecast is nice, and provides a nice screensaver when it’s not otherwise hijacked by the user-hostile Google Play movies trailers.

Personally, I find the inability to disable the movie trailers frustrating enough that I will not consider an Android TV next time I’m in the market for a TV (which isn’t too far off, considering a growing household). When I went to the shop to buy this TV, OLED (LG) was out of my budget, and as I generally like Sony’s design choices, it was easier to choose Sony over Panasonic. LG’s WebOS TVs were considered too, but lacking any prior experience with LG devices, I opted to stay closer to home.

Next time, WebOS looks like it deserves a look. If doesn’t have any owner-hostile features like the movie trailers, it just may be the better smart TV platform.

Certbot apache plugin missing

Could not choose appropriate plugin: The requested apache plugin does not appear to be installed
Attempting to renew cert from /etc/letsencrypt/renewal/nucco.org.conf produced an unexpected error: The requested apache plugin does not appear to be installed. Skipping.

When this happens, all you need to do is install “python-certbot-apache”.

Migrate from one Gmail Account to Another, 2017 edition /1

Email and Contacts

Migrating from your teenage Gmail account with the unprofessional, or hard to share email address to a new spiffy, professional email address is really easy, but scarcely documented. Here is how to do it.

Sign in to your new Account, and go to Settings (the cog wheel):

Screenshot of how to get to Settings

Then go to Accounts and Import, and select Import from another address.

From here, you need only sign in to the old Gmail address and Google will take care of the import in the background.

screenshot of accounts and imports tab with the import from another address button highlighted

You need to make sure that you have enough storage in your account for both the new and the old data. For me, this meant ensuring that I had the $2 a month 100GB plan for Google. Totally worth it. I just wish they had a 10TB option for $9.99 a month so I could use it as my cloud drive to rule them all 🙂

Enjoy.