Pogoplug

I'm sure I'm not the only one who is apprehensive about uploading family
pictures and home movies to on-line services like Facebook or YouTube.
As we all know, once something is on the Internet, it's out of our
control, and who knows where it will turn up next. On the other hand,
the Internet is a great way to share media with friends and family.
The more technically savvy among us certainly can figure out how to host
media on servers that we control, but most people need a
box they can plug in that “just works”. And, that's what
Cloud Engine's Pogoplug does.

The Pogoplug is a box the size of a Wi-Fi router that has a Gigabit
Ethernet port and four USB ports (one on the front and three on the back).
Inside is an ARM processor running Linux kernel
version 2.6.22—all this, and it's pink! Yes, I said pink. The case is white with a
clear acrylic shell, trimmed in pink, with a cable management clip in
the back of the device. Overall, it's rather Apple-esque (Figure 1).

Figure 1. Pogoplug (from Cloud Engine's Web site)

My review unit came with a bag of microwave popcorn and a simple note
saying to go start the popcorn, then come back and follow the
Pogoplug setup instructions. The note boasted that the Pogoplug would
be ready before the popcorn, and it was. Once I connected power,
networking and a USB hard drive, which I happened to have on hand,
all I had to do was go to my.pogoplug.com and enter the device's ID,
my e-mail address and a password. A couple seconds later, it was ready
to go. From that point on, all I had to do was supply my e-mail address
and password to access the device. This is the kind of simplicity most
people expect from consumer electronics.

Once the device finished booting, it began scanning the attached
storage for pictures, movies and music files. It wasn't long before
I was uploading media to the device and making it available to various
friends and family. At this point, it was all pretty intuitive, though
by no means sophisticated. I was able to grant either read-write or
read-only access on a directory basis—real simple. When I granted
access to people, they received an e-mail message telling them how to
access the shared media. When my friends clicked on the hyperlink,
they were able to preview or download various files I had made available
to them. From their points of view, it was just another Web page; from
my point of view, it was a server that I controlled.

All interaction with the Pogoplug is through a single Web site,
my.pogoplug.com. This Web site is able to access your device, or devices,
and present you with an easy-to-use Web interface. You don't even
need to know your device's IP address (Figure 2). In the center of
the page, you see thumbnail previews of some movies and a music file that
I uploaded. When you mouse over a thumbnail, a pop-up
menu appears that lets you either preview (Figure 3), download or remove the file.
Along the left side of the page, under My Media, are various
media categories. These links simply show a filtered view of all
of the files on the device. Under Show my files, there are a few
other ways of accessing media files on the device. Maybe it's the
nerd in me, but I prefer to access the drives directly, from the My
library section. Here, I have two thumbdrives plugged in
(middle left-hand side of Figure 2).

Figure 2. Web Interface to Pogoplug via my.pogoplug.com

Figure 3. Previewing an Image

Across the bottom of the page are buttons that allow you to change
how the device displays your file lists, as well as buttons that let
you upload new files, create folders and copy files from one folder
to another. There's also a Sharing button. This is the button you
press when you want to grant other people access to a directory.

When you click on the Sharing button, you are presented with
a screen that allows you to turn sharing on or off for the current
folder. If sharing is on, you can invite people to access the share.
Also, you can see who has access, and whether it's full access
or read-only access. Additionally, this is the screen where you configure the
social-networking features of the Pogoplug.

Most of my friends and family use Facebook to keep in touch, so I was
intrigued to hear that the Pogoplug would integrate with Twitter,
Facebook and MySpace. I decided to check out the Facebook feature.
Once I supplied my Facebook user name and password, the device posted
a news article to my “wall” any time I added files to the shared
directory. Obviously, this would be a great way for the grandparents
to keep up with all the grandkids.

Okay, so how does it work, really? As soon as the device boots up, it calls
home via what looks like a TCP-based VPN. From that point, the device
is able to respond to commands, such as “Tell me what services you are
providing” or “Delete a file.” It's important to note that this
is a free service, and that your files stay on your device and don't simply
get uploaded to Cloud Engine's servers. But, one of the nice things about
this architecture is that the Cloud Engine Web site is a central point
of interaction with your Pogoplug device, or devices. This also enables
you, the consumer, to write Web service requests from any Web page that
can interact with your Pogoplug (I'll come back to this in a minute).

The dark side of this architecture is that cloud computing could become
a potential single source of failure. If Cloud Engine went out of
business, this infrastructure would go away also. However, to mitigate this
threat and to dissuade fears, Cloud Engine has put its source tree in
escrow to be released to the public if need be. In the meantime, Cloud
Engine uses this infrastructure to distinguish its product from other
similar devices. In fact, chatter on the Pogoplug user forums indicates
that the infrastructure is being developed and improved actively.
What I've gleaned from reading the forums is that Cloud Engine can
push upgrades to the device—meaning that the Pogoplug is basically
a managed device, but the owner maintains complete control.

Sadly, the device doesn't ship with a native Samba or NFS server.
The device is targeted at people for whom this much configuration would be
too much. But, there is a filesystem driver available for download that
runs on Linux, Windows and Mac. I installed it on my Linux workstation
and my wife's Windows laptop, and it worked quite well.

So although the device is designed simply to work right out of the box
with little or no configuration, it still is quite hackable by more
sophisticated users. However, you first have to determine what the
device's IP address is, and this isn't to be found anywhere on the device's
Web site! I had to ask my DHCP server. Armed with the IP address,
I was able to ssh into the machine as root using the default password,
ceadmin. This is a reasonably secure configuration, because presumably,
the device will be behind your NAT router and not accessible from the
outside world. However, I'm told that after March 16, 2010, SSH will be
turned off by default, but users will be able to enable it through
the Web interface.

Earlier, I alluded to the ability to send Web service requests to a
Pogoplug. Cloud Engine's Web site documents how this is done and provides
a fairly complete API for interacting with a Pogoplug. With a
little bit of reading, I was able to perform some basic functions in
only a few minutes.

First, you have to authenticate via the service.pogoplug.com Web site.
This is done by sending an HTTP GET request with this structure:

You can see that the only parameters are your e-mail address and the
password you use to access the device. The server will reply with a
JavaScript object that contains various pieces of information, including
a valtoken field, which contains an authentication token. You simply
include that token in subsequent requests, such as:

You can see that it would be
pretty usable inside a JavaScript program. I haven't looked at the
API documentation with an eye toward writing a particular application,
but it seems pretty complete and well documented.

As is, the Pogoplug is a simple file server, but thanks to OpenPogo
(which is now known as PlugApps), you actually can extend the device's
functionality. By default, the root filesystem is mounted read-only,
but once the filesystem is remounted read-write, you can mount
an attached USB hard drive manually. Then, you download the PlugApps tarball and
extract it onto the mounted filesystem.

Once PlugApps is installed, you can install additional packages using
the ubiquitous ipkg package manager. From here, it's pretty easy
to imagine a Samba, Firefly or CUPS server running on the device.
But, the neat thing about the way the installation is done is that it
doesn't overwrite the existing filesystem. This means you don't
lose any of the benefits of the Cloud Engine infrastructure.

Overall, I think the Pogoplug is a neat little device, but it does have
some negatives. I was really hoping to be able to plug in my digital
camera and have the Pogoplug recognize it as a regular USB hard drive
and publish my pictures. This would have been a great way to offload
photos and make them available to friends and family in one operation.
Alas, that didn't work, but it probably has more to do with my camera
than the Pogoplug. When I pulled the memory card out of the camera and
put it in a USB card reader, it worked like a charm.

By itself, the device is very attractive-looking. However, all of
the equipment in my LAN closet is black, as is most of the equipment
on my desk in my office. Even my entertainment system is black.
Against these black backgrounds, this pink Pogoplug kind of sticks out
like a sore thumb. This leads me to wonder how hard it would be to
offer different colored skins for the device. I'd snap up a black
skin in a heartbeat, although I'm sure other designs, such as camouflage,
might be popular. On the other hand, I have to admit, it is quite
the conversation piece.

The configuration was designed to be simple, and I'd venture to say that it
actually might be too simple. I'd like to be able to associate comments
with the various files I upload. Also, the categories Movies, Photos,
Music and Slideshows are a bit limiting, as I also have documents and
spreadsheets that I share. Finally, the ability to organize my
music collection better would be very much welcome.

That said, the Pogoplug is an extremely easy device to set up and use.
This $130 device eliminates virtually all the hassle of sharing media,
controlling access and telling my friends and family when I've uploaded
new baby pictures, for example. My plan for the device is to tuck it away
in the corner of my LAN closet and post some shares for family pictures.
I'll also post a share for just our immediate family, where we'll store
genealogy data that my wife can collaborate on with her father on
the other side of the country. I'll probably also set up a share for
my favorite YouTube videos. With the Pogoplug in place, my wife and
kids may not have to interact directly with my main server anymore,
but they'll still have convenient access to the stuff they want.

Mike Diehl is a contract programmer and consultant in Albuquerque, New
Mexico.
Mike lives with his wife and three small boys and can be reached
via e-mail at mdiehl@diehlnet.com.

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.