TeamViewer on a Raspberry Pi

For this project the customer wanted TeamViewer running on a Raspberry Pi Nano so that a programmer he hired from interstate could connect easily to get some scripts running. For the more tech savvy an SSH terminal connection is by far more solid and runs easily on a Pi Nano, but the configuration is harder as a port forward would have to be setup on the customers home or business router and then DNS resolution has to happen. In the end that set up would be more fault tolerant, but then again it depends on how you look at it.

TeamViewer has almost become an industry standard as it is generally fast, reliable and easy to set up. I’ve not done a speed test between TeamViewer and FreeNX, but for ease of use TeamViewer is great. It also bypasses the firewall using tunneling without compromising security.

Back to the job at hand. It turns out that the older older ARM chips found in the Nano and the Pi 1 do not support SIMD (Single Instruction Multiple Data). SIMD is a type of parallel computing involving vectors (beyond the scope of this article). Either way the ARM processors in the Pi3 have an architecture called NEON which supports SIMD.

After 4ish hours of flattening the OS, reinstalling Raspbian, hunting for the appropriate version of TeamViewer host for Linux and then figuring out what the spurious errors meant I finally realised the NEON SIMD issue above. I popped the SD card out of the Raspberry Pi Nano and put it in a Pi3 B+ and away it went. Mission accomplished.

Question for Linux music nerds like myself?

This post will prompt me to get Akismet or something antispam happening here so people cna reply on these posts.

The question:

What’s the best option you’ve found for streaming music via Webdav:// or sftp:// which works cross platform including touch screen devices?

Possibilities:

Cloudbeats

Rhythmbox using an sftp mount (Fairly automatic from Caja in Mint 19.1,)

VLC half looks like it wants to, but more has an option for a UDP stream. I’ve not tested this yet. Thing is that it doesn’t have a column browser like Rhythmbox or Itunes.

 

Fortunate error and discovering Linux Mint Mate 19

A few weeks ago I was trying to fix a blue tooth pairing issue from an old laptop to a blue tooth stereo. It was late at night and I was over tired, thus I removed some dependencies because I was a bit gung ho. Well I knew where all the data was and that it was safe so it was OK. It was an experimental laptop also so care factor was minimal.

Either way I saw Linux Mint 19 was available and it seemed like a shorter path to reinstall……. and now I’m glad that I did! Mint 19 is awesome. Much like Ubuntu Gnome 2 was back in 2007 / 2008. Things just work. It took the old laptop HP Elitebook 8780w (circa ~2010ish) which was useless under MS os’, quite good under Mint 18 and now actually my preference with Mint Mate 19.

It actually goes better than my macBook 2010 with Yosemite on it. (Although if I put some effort in to clean it up it would be OK) Still, apple OS has gone downhill since Jobs passed away. Moving to IOS was understandable, but poorly implemented.

Nice work Linux Mint Mate team. You’ve brought back Gnome 2.

For anyone else out there with a laptop that doesn’t go from 10 years ago. Try Linux Mint Mate 19. ‘Tis very nice.

An alternative to DynDNS and the like.

For the less technical

(Skip ahead if you already know the basics) DNS (Domain Name System) is a method of taking a computer and giving it a name on the web. For example our domain is 7rocks.com. I might have a laptop which I’ve called Manfred. To access it from anywhere in the world we’d like to type manfred.7rocks.com maybe in a web browser to access web software on manfred.

7rocks.com comes to this website, but manfred.7rocks.com connects to the hypothetical computer called manfred. For technical reasons when the computer is on your home network you need something called dynamic host resolution to make this happen.

For the more technical

Sniffing around Bind9 trying to make my own dynamic DNS service I realised that Bind9 has a service called NSupdate. I’m not sure if it was there in the early naughties when I was setting up mail and DNS servers, but it’s here now. So the scripts I wrote are minimal and there’s no more hand editing of the zone files. Fantastic!! Especially if you’ve a server with a static IP address already. Nice one Bind9. The O’reillys books are still good for giving an overview of how it all works for those interested in giving it a crack.

NextCloud –> Go you good thing!!

I have to say, I’m impressed so far. A few weeks ago I installed NextCloud server on a Raspberry Pi 3b. So far it is working very solidly.  The Android apps and the website interface work very well and are highly polished. The OS X client is very smooth and the Linux Mate client is nearly as good as the OS X one. It’s only missing the little green / blue dot icons in the Caja file browser to notify of synchronisation. It’ll take some months to make a true assessment of NextCloud, but I am fairly confident it will keep out stripping my expectations.

For instance, I wanted to make a standard network share for our client. I was going to set up Samba (windows file sharing on Linux servers). Samba works well. I’ve used it for years. It was to point to the same NextCloud share. However there was no need to set up Samba as NextCloud uses a protocol (communication language) called DAV. Simply create a

davs://example.com/nextcloud/remote.php/dav/files/USERNAME/

share and ShaBang!!! you’re in.

There are similar setups for the other OS’s here which I’ve not tested yet.

The security system seem good and you can make it as hard as you want. Even to the point of using two factor authentication using SMS. How nice it that?

Why did I install it on a Raspberry Pi and not a more powerful solid server or a VPS?

  1.  The client does not add a lot of data per day
  2. The Pi uses less than 2 watts of energy (+ hard drive power)
  3. It’s not a huge expense to make a replicated mirrored backup server with automatic fall over protection.
  4. Having it onsite means the client knows physically where their data is at all times.
  5. Using Bind9 with NSupdate makes it possible from any internet connection, so why not.

It just makes sense. Most data conscious companies and business owners I speak to just want to control their own data. The phrase “just stick it in the Cloud…” is too ambiguous for them. Even though there are so many advantages to the technology of Cloud based systems, they still feel unsettled knowing that the core of their business is reliant on some other data company being reliable. Now systems like NextCloud are possibly giving an alternative way to using this tech.

 

 

RaspberryPi Raspbian OS image minimised for optical recognition company.

An engineering friend (Shervin Emami) was working on optical recognition softwade for a customer and his project worked well. Shervin asked if I could do the Operating System (OS) optimisation section to get the Raspbian Linux OS  down to below 2Gb for mass roll out purposes. The client had tried to do this himself, but was unable after many hours of trying. It took me several hours and there where a few quirks linked to Raspbian OS, but I finally nutted it out with a successful outcome.