The knightwise.com podcast is back this week with a splash of cold water and a dose of plain old common sense. This week we talk about some strategies to keep you, your devices and your data out of nefarious hands. Vigilance, my friends.
- Episode produced by Keith Murray
“Wanting is more pleasing then having” : It’s not logical, but it is the truth. It’s a line Spock must have quoted in some long gone Star Trek episode somewhere (please don’t ask me, I can’t remember which one). For some reason it has stuck in my mind for the longest time. “It’s not logical but it’s the truth” is the follow up line .. completing the entire statement and lifting it to the realm of existence-pondering quotes out there.
I don’t wear sandals and have a neck beard.
We kick off season 10 of the Knightwise.com podcast with a hands on review of the BQ Ubuntu Phone. We review the hardware, talk about the fledgling OS and see how the phone holds up in “daily use”. Splice in some cool tunes selected by Daniel Mesner and you have yourself the first episode of the Knightwise.com podcast, season 10.
- The BQ Aquaris
- The Ubuntu Phone App Store
- Ubuntu “Next” (Fusion between the desktop and the Touch OS)
“I run operating system X, I prefer distribution Y, I like desktop interface Y better” I’ve heard the discussions over and over again. Sometimes people stick to their guns and defend their choice, other times people hop around from OS to OS or from Linux distro to Linux distro just because they want thingie X that isn’t available in Distro Y.
The question is : Why do we still need to choose ? If we can train our digital workflows to be operating system independent, why can”t we take it one step further and instead of ‘choosing’ our operating system .. why not design it ourselves ?
The question came up when I got back from a visit to Fossdem this week (Belgians largest open source conference with attendees and speakers from all over the world). Seeing all these pretty Linux distributions and the powerful stuff you can do with them made me all eager to take the plunge once again and go “Full Linux” for a while. I slide from OS to OS (My main workhorse is a Mac, my traveling companion is a Chromebook that has Ubuntu on the side, my desktop runs Linux Mint and I have a Surface Pro running Windows 10). Lately I have been having hours of fun playing around with the Chromebook. Its simple operating system charms me into using it quite often. Its clutter free, not a lot of distractions and I like its simple elegance. However it is limited. Some things just don’t work on Chrome, but luckily for the Chromebook I can just ‘sidestep’ into the Ubuntu version I’ve installed via Crouton.
Hopping from OS to OS at the press of a button is a joy, however, since Ubuntu uses the same Root kernel Chrome OS does .. Some features are missing. (No iPTables means no way to use Sshuttle, my favorite vpn client) The other downsides from working on the Chromebook are its limited storage (16 gigs divided between Ubuntu and Chrome OS) and the low quality screen. I love working with the little machine when i’m on the road .. but it has its limits.
Meanwhile my super powerful Macbook Pro sits by the wayside, waiting patiently until I have a new task for it to do. (I do most of my audio and video production on my Mac and it IS the main machine for my business so tinkering with it is just not done). A bit of a shame really.
Side by side.
As I was once again working on both machines side-by-side this week, I wistfully thought : How cool would it be to have the power and screen size of the mac, the simplicity of the Chrome OS and the power of Linux rolled into one machine while still having the option to “slide” back and forth between the operating systems at a whim…
Sure, I could dual boot my Macbook pro with some flavor of Linux but that would violate one of my basic principles : My Mac is my work machine, my livelihood .. so excessive tinkering that might harm the OS or the data on the machine is NOT done. Furthermore, since the latest upgrade to OSX Yosemite, dual booting has become a lot more complicated. So the alternative was easy : Using a virtual machine. With plenty of Ram and an SSD drive I would have not trouble throwing some Gig’s and a few cores at my Linux distro of choice and run one on top of the other.
So what to choose ? Choosing your distro is always hard. And in my case I wanted something very specific. I wanted the distro to have a light graphical user interface (I don’t like clutter + I wanted it to be sharp and snappy so I didn’t get the feeling I was running a VM. On the other side I also wanted it to look like Chrome OS. So what to choose ?
Chromixium : A great distro that I found out there that does just that is Chromixium. Basically its a re-build of Chrome OS but using the open source version of the Chrome browser : Chromium. The Chrome-OS look and feel is done by heavily modifying an E17 interface and adding a plank dock. The operating system is light, elegant and well done. The great thing is : Where Chrome OS Stops, Chromixium go on. Instead of running on a shared Linux Kernel (like the Ubuntu installs in Chrome OS via Crouton) Chromixium is pure Ubuntu under the hood. That means : A terminal and access to the software center. Install whatever you please !
Looks like Chrome, Feels like Linux, Runs on a Mac.
So after I installed my favorite Linux applications (both Command line versions and actual apps) I have “morphed” my Chromixium into something that looks like Chrome OS but has the full power (and applications) of Ubuntu available at my fingertips. So now to get it to play nice with my Mac. In order for the Chromixium VM to be able to use the full resolution of my Retina display I made sure to assign it at least 32 meg of video memory in the Virtualbox control panel. I also assigned 2 cores and 4 gigs of ram. Next up it was time to install the Virtualbox Add ons into the guest operating system (Chromixium) to let it use the full resolution.
The actual resolution of a 15 inc Retina Macbook Pro is 2650 by 1600 and I was puzzled why, no matter how I tried, I could not get my Chromixium VM up to that exact resolution when I put it in full screen mode. Turns out that this is actually impossible. The retina resolution is no longer tied to the actual resolution of your display. So you can “scale” the actual resolution of your desktop to ‘appear’ a certain resolution that is actually being ‘mapped’ on the actual resolution of your display. To make a long story short : I went into my Macs system preferences and set the host resolution of my system to a setting that “looked” like 1920 by 1200 and when I set my VM to fullscreen I saw that THAT was the actual ‘physical’ resolution the VM recognized.
So in the end I’m running an OS that is a mutated version of Chrome OS and that I have pimped out with a lot of “standard” Ubuntu applications ON TOP of my Yosemite install on my Macbook pro. It gives me the best of both worlds. The look and feel of Chrome OS , the power of the cloud (Both Chrome and Chromium can sync with my Google account and all settings, plugins and extensions are carried over between my Chromixium os, my Mac and my Chromebook) To power it all I have my Retina-display I7 Macbook pro and due to the fact this is a VM , I can easily make snapshots I can roll back to should something go wrong. I’ve already cloned the Virtual machine to my home server so I can access it remotely (via RDP) should I need to.
Tie in a couple of SSH connections and applications running on some of my other (remote) virtual machines and pretty soon I am having a hard time keeping track of what OS I’m actually using. And that is the whole point. The operating system needs to become abstract. A software layer that provides a you with the means to get things done. It is not there to be adored, it is not there to be fought over, its not there to make you choose.. its there to help you get stuff done .. regardless of what OS you choose…
Links : Chromixium
Some gadgets are just hard to throw out. Perhaps you keep hanging on to them because you have this plan of “using them someday” for “some project”. Perhaps you keep hanging on to them because of nostalgia. Whatever reason you might choose, those geeky gadgets that keep occupying that box in your office aren’t getting any younger. Why not put them to good use ?
Lets take 2 items in MY junk-box as an example. An aging Asus EEE 701 Netbook PC that I have been hanging onto because of sentimental reasons. (I smuggled it in from the US way before these babies were available in Belgium) Its keyboard is broken and its low specs when it comes to storage, memory and cpu power aren’t helping it in finding something useful to do these days. The second item is my first 1tb external hard drive. I haven’t thrown this one out because its on my ‘for-some-project-some-day’ list. Its been on the list for 2 years now … So lets smash them together and turn them into a Remote backup solution using open source software and Bittorrent technology.
Step 1 : Turn the EEEpc into a headless server.
I downloaded the Image for Ubuntu’s ‘minimal installer’ off the net and have had it kicking around on an old USB stick for a while now. Because of its small footprint its ideal to do ‘light’ installations of Ubuntu because you can choose which components you want to install. I chose the ‘minimal Ubuntu server’ and the SSH server component. When the installation was complete I rebooted the laptop and hooked up the external USB drive (that I had formatted in one big FAT32 partition)
Step 2 : Install Webmin and mount the drive.
Because I was going to use my external hard drive to store my remote backups on (the EEEpc doesn’t have enough storage) I needed to be sure it was always mounted correctly if my little laptop should have to reboot. So instead of messing around with stuff like FStab config files I installed Webmin. (a Web-based interface to your Linux server). Using the ‘Disk and network file system’ menu I mounted the external drive into a folder called ‘backup drive’ that I had created in my home directory. This way I was sure that the external drive was always mounted correctly in the same folder.
Links : Howto install Webmin.
Step 3 : Install Bittorrent Sync.
Next up I installed a copy of Bittorrent Sync both on my local server and on the old eeePc. Following THIS tutorial lets you install Bittorrent Sync and configure the Web interface to be accessible from all over your network. (So make sure you choose a very secure administrator password). When installing Bittorrent sync this way, you are also sure the service always starts up when your computer reboots.
Links : Howto install Bittorrent sync.
After the installation was complete I surfed to the Bittorrent web interface of my home server (source system) in one tab, and to that of my EEEpc (remote destination system) on another one.
Step 4 : Share a folder on your Source system.
Now it was pretty smooth sailing. On the Bittorrent web interface of my SOURCE machine I made a bittorrent share of each folder I wanted to backup remotely. I right clicked “properties” once the folder was created and copied the ‘READ ONLY’ secret.
Step 5 : Enter the key for the shared folder on your remote destination system.
Next up I went to the tab of my ‘remote destination system’ and entered the READ ONLY key. I selected a folder on my external drive where the files needed to be synced towards. (in my /home/backupdrive/ directory)
Step 6 : Do the initial copy
After repeating the process above for all the folders I wanted to ‘sync remotely’ I just had to wait for the initial copy to complete. After that it was time to pickup the EEEpc and the External drive and bring them to their new (remote) home. I hooked the EEEpc up to the network, started up the machine and … that was that … headless remote backup solution done.
Because Bittorrent sync doesn’t care about open ports or anything I didn’t have to mess with the router on the remote end of my backup solution. There were no ports to forward and even a static IP was not required for the remote machine. Just connect it , fire it up and .. boom. Using the ‘read only’ secret is an insurance that changes to my files are only synced one way : From the source to the remote system (and never the other way around).
You can expand this setup (and increase the security at the remote end) by syncing over encrypted ZIP files. That way people can’t access the data should your system be compromised.
In the end its a great simple way to use an old system (you can even use an old laptop with a broken screen for this) and give it a new lease on life. The setup is simple, the interfaces are web based and the whole setup is perfect for a remote backup destination at your parents or in laws.
So secure your data and put those old clunkers back in action !