fighting the lack of good ideas

p2p cloud storage

I have yet to find a peer-to-peer file storage system.

You’d think that with all the p2p and cloud services out there, there’d be a way of dropping files into a virtual folder and having them show up around the network (encrypted, of course) – replicated on some kinda of RAID-over-WAN methodology.

I’m thinking Cryptonomicon’s data haven, but done on the cheap (and not in a dedicated place like the Sultanate of Kinakuta).

I’d use it if it were built.

this is not the year of the linux desktop

2013 will not be the YoLD.

Nor will 2014. Or 2015.

This will be a shock to the fanatical FLOSS heads out there. But not to me. I’ve never thought that “this will be the year of the Linux desktop” – regardless of how many magazine, journal, blog, and other articles have been published about it. Regardless of the ardency of LUGs: it won’t happen.

There will never be a year of The Linux desktop.

And it’s not because Linux is bad. Or because there’s too much of a learning curve. Or because there is not interest in running Linux at home (as opposed to “merely” on servers).  It’s not because you can’t run Office on Linux (see CrossOver).

It’s because we don’t care any more. Linux is here. Windows is here. OS X is here. iOS is here. Android is here.

We have GUI devices ranging from smartphones to tablets, netbooks to all-in-ones, desktops, workstations, portables, stationaries … nobody cares any more.

All anyone has really cared about for the last decade+ is whether or not they can get their work done. For more and more of us, that is being done via web interfaces, email, remote connections, portable apps, cloud computing, and a host of other non-strictly-platform-dependent tools.

I can collaboratively create and edit documents in Google Drive with scores of colleagues (if I wanted) as long as they have a “modern” browser. You can edit on an iPad while I’m running KDE while she’s on a Mac while he’s on a Windows box. I can sync files with tools like Dropbox and Copy (and scores more).

As long as I am running on “traditional” hardware somewhere (ie x64), I can run [almost] any platform’s native applications – I can run VirtualBox on Linux, Windows, or a Mac and install Linux, Windows, or OS X (if on Apple hardware) in the VM. I can even run platforms like Solaris x86.

We have been treading steadily towards platform-independence for years. Major companies like VMware, Google, Salesforce, and Canonical have all been pushing us in that direction, in their own ways – along with thousands of smaller outfits: there is very little reason to ever worry about what platform you are running as your main environment for at least 5 years, perhaps as many as 10.

There used to be lots of underdogs in the race. Ghandi has been quoted as saying something incredibly relevant to the nature of the current platformless monoculture:

First they criticize you
Then they laugh at you
Then they fight with you
Then you win.

How does that apply to YoLD? Red Hat used to have a “Road to Red Hat” monthly seminar series offered to college students on how to get into their internship program. They had an energetic video every month that would lead-off the presentation, and it always had the Ghandi quote in it. They used it in the context of being a then-substantially-smaller company than Sun, Microsoft, IBM, etc – but one that was helping to disrupt the establishment and bring about change in IT worldwide.

Sun and Microsoft for years ignored, laughed-at, and attacked Red Hat because they were not following the mold that so many others had used. They were going into the most staid of technology environments, and acting-out, effectively, a blue-ocean strategy. (Irony – everyone I knew who worked at Red Hat at the time ran Windows as their primary desktop because there were no good (or even semi-good) non-proprietary tools for things like productivity software where you had to continue to maintain “Microsoft compatibility“.)

I remember seeing my first YoLD article back in 2001 – a year or two after I had started “really” playing with Linux (back when Red Hat Linux was in the release 6 family (first edition I ever tried was 3.3 way back when)).

Linux never got “its year”. Instead, it got something far greater – the ability to be healthily ignored. It became ubiquitous.

The same thing was true of Adobe Flash for years: every computer had it installed. It was so widespread, no one thought about it. Adobe never needed the “Year of Flash” – it happened. AT&T never had the “Year of the Telephone” – people got so used to using them that they spread everywhere.

That’s happened with Linux on the desktop. Oh, sure, there are still the ardent fanatics who scream death to Microsoft. There are the religious nuts who get into yelling matches over whether Ubuntu contributes enough back upstream. There are folks who complain that everyone should use the .rpm standard (and those who want .deb, and those who just want .tar.gz files – they can compile themselves, thankyouverymuch).

The simple fact of the matter is that because you can run a “modern” web browser anywhere (Firefox, Opera, Chrome, and more) – there is no over-arching need to worry (in general) about what OS is running the app. The Operating System’s job is to, well, operate – schedule and manage running tasks so users get stuff done. In truth, that should be the job of any tool: enable the user to get work done. OSes should be the concrete and rebar of the computing world – they enable other things to get where they want to go in an organized fashion. The ergonomics of computing – a fascinating area of inquiry, may I add – theoretically has as its ultimate goal that the computer be intuitive, natural, and even invisible.

So, folks, there will never be a Year of the Linux Desktop.

And I’m OK with that.

don’t implement your scheduler in a pure queue design

Recently came across a seriously funky issue with one of HP’s products (don’t laugh – I know there’s loads of funkiness in HP tools).

HP Cloud Service Automation (3.1) allows you to schedule requests in the future. It also allows you schedule end dates for subscriptions.

That’s neat.

Here’s the problem: if you delete a Service Offering (which allows something to be requested in the CSA catalog) while an active subscription is using it – any active subscriptions get delinked, and become unmanageable with the tool.

Now the dopey scheduler comes into play.

CSA’s scheduler works by putting all future items into a FIFO queue. What this ends up meaning is that if you have an item that fails (because, for example, you’re now past a scheduled end date, but the subscription is unlinked from an offering, so it can’t unprovision it), all other pending items fail, too. Even ones that should happen “immediately” – because “immediately” is still added to the scheduling queue… behind the erroring item(s). And since those items have errored, nothing can move forward.

This is stupid. (And yes – RFEs have already been filed over these problems in the product.)

Instead, have the scheduler put all items into a table – at the appointed time, iterate through the table and run everything you can – if it won’t run, flag it as an error, and move on.

This is how cron works. Why would you not use a commonly-accepted, reliable way of doing things? Oh yeah – you’re HP.

If you’re planning to write something for your product/software/tool – see if anyone else has done it before, and then try to mimic methods that work… please!

cloud computing in easy steps by david crookes

In my ongoing hunt to find worth-while tech books (most recently in the field of cloud computing), I’m here today to write about Cloud Computing in Easy Steps by David Crookes.

First to note – this book is NOT about how to deploy cloud computing. It is about how to use lots of free and inexpensive options if you are an individual consumer or small business.

That aside, this is a fantastic, easy-to-read and -understand reference for folks just starting to get their feet wet in the world of multidevice-accessible applications hosted “in the cloud”. Compared to Google Apps: The Missing Manual (review), thsi text does not try to go deep, and is far more recently-published (and, therefore, up-to-date) than Nancy Conner’s well-written, but 4+ year old, tome.

Crookes makes the concepts of detaching from purely client-side computing and applications less intimiadating than they sound at first blush to most novices (and, for that matter, to most “traditional” techies and “old school” business folks). He provides excellent starter material and handy tips, reminders, and gotchas throughout.

This book is not comprehensive – it is not intended to be: it is introductory and of a quick reference nature. It accomplishes precisely what it sets out to do:

The cloud is everywhere. Cloud computing looks set to revolutionize how we create, store and share data. Today’s big names, from Apple, Microsoft to Google, are embracing it to such a degree that the world is moving from a centralized computing platform to one that can be mobile, scalable and always available.

Whether you’re a small business looking to reduce storage and application costs and make collaboration easier, or an individual who wants to use more cloud based services but isn’t too sure where to start, Cloud Computing in Easy Steps is the book for you. Each of the key concepts is covered in plain English, and many of the most popular cloud services are explained. (the back cover*)

Whether or not you should buy this book for your own shelf is up to you – I found that it’s a good one to have borrowed from my library and learn a couple nifty things I didn’t yet know about some of my favorite services. It is most certainly a good text to read.

* grammar errors left intact in the quote

cloud computing bible by barrie sosinsky

The first comment I have about Barrie Sosinsky’s book, Cloud Computing Bible is that it’s the first one I’ve read that doesn’t appear to have any sucky parts.

This is a plus.

Hybrid Cloud for Dummies was pretty much a waste of time.

Deploying OpenStack was even worse.

Sosinsky’s work, though, is not only less temporally-constrained, but actually provides a huge amount of useful information in a nice, tight package.

Pages 27-28, for example, demonstrate a list he calls, “”The laws of cloudonomics” (drawn from Gigaom). In summary:

  1. Utility services cost less even though they cost more
  2. On-demand trumps forecasting
  3. The peak of the sum is never greater than the sum of the peaks
  4. Aggregate demand is smoother than individual
  5. Average unit costs are reduced by distributing fixed costs over more units of output
  6. Superiority in numbers is the most important factor in the result of a combat (Clausewitz)
  7. Space-time is a continuum (Einstein/Minkowski)
  8. Dispersion is the inverse square of latency
  9. Don’t put all your eggs in one basket
  10. An object at rest tends to stay at rest (Newton)

While the book does use individual exemplars (often open-source), Sosinsky took great pains to make as exhaustive a list as could be at the time of publishing – and indicates every time a list is about to be encountered that there are more options that were missed.

A few items in the book are dated (like Google Apps: The Missing Manual was). However, the vast majority of the content is as useful today as it was in 2011 when the book was published. This is an impressive accomplishment for a technical book. Especially for one written in the approximately-nascent world of cloud computing.

This is one of the few tech books I would recommend to anyone interested in the topics of cloud computing. I haven’t bought a copy … yet (my library has a pretty good system). But I want it.

decentralizing email

After several years of pushing all of my personal email into Gmail, I’ve decided that relying [almost] exclusively on one provider is just not the best idea ever.

Google is great. But, as with any cloud service, exclusively relying on just one provider is not the best.

Going forward, I am going to be relying on my own server (which I have been indirectly for several years), as well as Yahoo. And Microsoft Live for Domains (which is freely available the way Google Apps used to be).

I love cloud computing – right now, it’s a major component of my job function. But it’s not a panacea. Everything has its place, cloud computing included.

So, I am not saying “goodbye” to Google. I’m just saying “hello” to others 🙂

hybrid cloud for dummies by judith hurwitz et al

Many years ago, I started programming C++ with a friend of the family and member of my home church. We dove in with Borland C++ for Dummies by Michael Hyman and Stephen Prata’s C++ Primer Plus (Waite Group). Prata’s book was fantastic – if you were at the advanced high school / collegiate level. While precocious in some areas, I was only 13: and it was too advanced by far in most of its topics.

Enter the “for Dummies” book. Hyman’s accessible, funny, and progressive pedagogical style was fantastic – and not just for me. Jeff also benefited because, while he “knew” C, he was really a Fortran programmer by trade. So he wrote Fortran in C. And then as we learned C++ together, we wrote Fortran in C++.

That aside, I became a fan of the “for Dummies” series because they took [generally] difficult and/or broad topics and condensed them into a format that I could grok rapidly, and could then branch from quickly – kind of an advanced “Cliff’s Notes” approach. In a style not generally as condescending as the “Complete Idiot’s Guide” and “for Mere Mortals” series, the “for Dummies” books were great intros to a variety of topics for me.

I picked up Hybrid Cloud for Dimmues by Judith Hurwitz, Marcia Kaufman, Dr Fern Halper, and Daniel Kirsch expecting to see something I could recommend to non-techies and/or stodgy types who are interested in quickly and summarily grokking cloud technologies.

As has been the case with several other books recently, I’m glad I didn’t pay for the book – the time it took me to skim the material and pick out any nuggets I either was not familiar with, or interested to see a potentially different spin on was about 30 minutes.

Pro Tip: always check to see if your library has a book before committing to purchase from Amazon, Barnes & Noble, Books-A-Million, etc

Clue #1 (which I would have gotten at my library had I spent a smidge longer with the book before checking out): all four authors are partners with Hurwitz & Associates.

Clue #2: no mention of HP’s competition to the IBM SmartCloud product line (which, ftr, has been around longer than IBM’s) – Cloud Service Automation and*.

Clue #3: barely any depth in any of the chapters … more like a “Cliff’s Notes” book than any other from the “for Dummies” series I’ve run across (which is fairly evident even in the TOC with how close subsections are to one another).


If you truly know absolutely nothing about cloud computing – private, public, hybrid, etc – and the associated *aaS acronyms – PaaS, IaaS, SaaS, etc – then you can pick up slightly more than is in the most recent issue of the in-flight magazine on your favorite airline in the course of a couple hours of skim-reading this book.

If you know anything about cloud – don’t bother. While I am happy introductory materials exist, if you are going to totally neglect some vendors’ offerings, you need to NOT promote other vendors over them – without some form of disclosure indicating why!

If you are wanting to give your CEO something they can skim and perhaps gain some mini insights into cloud computing because they want to keep up with all their peers who are “going into the cloud” … well, he should be able to finish it during his lunch break – without losing any chewing time.

For everybody else … spend 20 minutes on Google or Wikipedia – it’s cheaper, and far more likely to be useful down the road.

*I work for an HP partner, and have been immersed in HP Enterprise Automation products since before HP purchased Opsware in mid 2007