Quick 'n Nerdy

O.K. Google, what is the Whopper burger?

This Wednesday, Burger King released a new television ad that purposely triggers Google’s latest Smart-Home-Hub “Home” by asking it for a definition of the Whopper Burger through television.

“Home” is a Smart-Home Central like Amazon’s “Alexa” and can be controlled with natural speech but needs to be invoked by a special key-phrase – “O.K. Google” (“Alexa” for Amazon’s Hub). Burger King used this in its ad to basically off-load some of its marketing- and advertising-efforts to Google, having “Home” explain what the Whopper Burger is. Outsourcing 2.0.

Of course Google quickly fixed this “problem”, as they clearly don’t want to give away free advertising to Burger King – and of course they don’t want third parties to exploit their voice activation features as a security-issue like this might scare off potential customers.

According to the NY Times, “more Americans use smart speakers at home, a trend led by Amazon’s Echo device and its virtual assistant, Alexa“. This isn’t such a thing in Germany, yet, but it will probably be in a few years. Considering how much we’re already exposing ourselves to things like this, it’s a scary trend that we’re giving away more and more of our privacy and self-determination in exchange for convenience and a supposedly higher living standard.

Having Burger King kind of “exploiting” Google Home’s features and thus the permissions you as the owner granted it should kick-start our imagination for what’s possible with devices like this, which become an essential part of our days as they know our habits, automate our chores and feed us with the things we like (or the things we’re meant to like).

Google, with its already alarmingly relevant profile of our lives and personalities, is basically with you 24/7 now and thus able to deliver you the right content at the right time in the right place (at home, at work, en route) – which is how they can influence our perception, opinions, purchase behaviour and habits. And, even better, they will share this ability to everyone who is willing to pay for it.

Be careful when considering to bring devices like these to your home. It’s convenient, it’s fancy and modern – but it always comes at a cost: Giving up privacy and security for a little less effort, gradually exposing more of your lives to machines and analysts, being influenced by others.

Quick 'n Nerdy

SSH Performance Voodoo

Just a quick note on SSH’s performance when working with multiple connections to the same server. You can tell SSH to re-use a connection to a server for all subsequent connections (up to a defineable limit) which greatly speeds up connection time as you simple hop onto the existing connection without doing the initial handshake, auth, etc each time. You can define this either in your local ssh-config (~/.ssh/config) or system-wide in /etc/ssh/ssh_config.

Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600

Basically, for each unique destination, SSH (or ssh-agent) will create a unique socket under ~/.ssh/config that will be reused everytime you connect to the same host again. Fast as fuck.

Quick 'n Nerdy

Fix faulty Proxmox 2.3 Cluster

It seems a little odd, that with Proxmox 4.x+ out, there’s still the need to fix Proxmox 2.3 cluster issues, but hey, never change a running system, right?

The Issue

Good ol’ Proxmox 2.3 Cluster wasn’t as resilient as its successor is now in Proxmox 4.x. The Cluster tends to lose connectivity with the other nodes, Proxmox’ Cluster-Filesystem casually denies write-access, Corosync enjoys crowding your syslog with error messages and so on. Problem here is, you can’t do shit on your machines because “FUCK YEAH…”

cluster not ready – no quorum?

So awesome and endless debugging possibilites. Not!

The Fix

TBH, this is not the go-to fix that repairs your Cluster no matter what. I mostly have issues with cman and pve-cluster which can be resolved by restarting both services on all Cluster nodes. With pve-cluster this can lead to undesired behaviour though.

I’m managing tasks like these with Ansible as my Clusters are usually composed of 10+ nodes and doing it manually on each node is annoying. And by “managing with Ansible” I mean I’m using Ansible to execute whatever command I need in parallel on multiple nodes at once. This usually works fine, especially for all things cman but might push your shared /etc/pve filesystem under pressure as you’re probably producing deadlocks and race-conditions when 5 nodes try to re-sync their filesystem at once.

So here’s a small Ansible command to restart pve-cluster one node after another (Yes, it can be done in a while-loop with Bash, too, but hey: Ansible is Love, Ansible is Life).

Requirements

  • Working Ansible
  • Group “pve” in your Ansible Inventory (as you’re probably pretty smart, you surely already realized that this changes depending on your setup and Inventory)

ansible pve -m service -a "name=pve-cluster state=restarted" -f 1

This way, pve-cluster will be restarted one node at a time and the Cluster Filesystem has enough time to sync and report “notice: received all states” after each restart which, in the end, fixes any problem related to the shared filesystem.

Additionally:

Executing

ansible pve -m service -a "name=cman state=restarted" -f 1

afterwards doesn’t hurt either.