Archive for the ‘Software & IT’ Category

Bring Social to the Blog, or Bring the Blog to Social?

Sunday, January 29th, 2012

I create content: I write, I shoot photos, and I create music. I also make the occasional video.

I want an online location where I can keep up with all my content, and my interaction with others.

My website – a WordPress blog I self-host – the one you’re reading now –  is the only place that truly gives me the control I want over my content. With my blog, I can

  • Create text posts with any length or formatting I like
  • Upload photos at any resolution with my choice of viewers
  • Upload music for download or insert Soundcloud or Bandcamp widgets
  • Interact with my guests using comments or Disqus
  • Integrate 3rd party content from other sites that offer feeds
  • Maintain 100% creative control over the look, feel, format, and style

The problem is – and it’s a biggie – is that the now-dinosaur-like “blog” format is completely isolated from social media. If I post something here on the blog, a few dozen people will see it. Nobody really reads my blog. But if I post something there, on Google+, a few hundred or even a thousand people might see it. It might even go viral, and millions of people might see it. On my blog, there is a next-to-zero chance that any content will go viral.

Of course, I can do what Guy Kawasaki does: publish on my blog, and link back to my blog from social media. But by failing to bring the content actually into the social media stream, I’m losing a lot of potential readers.

Or I can do what guys like Robert Scoble do: post everything everywhere. Scoble is ubiquitous. I don’t know how he can keep up with it all. In the memorable words of Mick Jagger, “I just don’t have that much jam.”

Alternatively, I can migrate to the available social tools instead. I can post my text diatribes over on Google+, but I have no control over the formatting and the layout is terrible for anything longer than a few paragraphs. I can also post my photos there and that works, mmm, OK, at best. I can’t post music, but I can share videos (a terrible situation) if I upload them to YouTube first. I can interact, which is probably the best feature. But I have zero creative control over the look and feel of my content. And I can’t integrate with 3rd party tools like Instagram, Twitter, Tripadvisor, or Hipster where I also create content.

So I end up with most of my most important content – my long blog posts and my music – hosted outside Google+.

What I really want – what someone needs to figure out – is how to have my cake and eat it too. Allow me to have my content on my blog – give me full creative control over it – but also allow me to interact on my blog through social media.

Alternatively, allow me to do everything I can do with my blog on a social media platform: customize it, post anything on it, and integrate anything into it.

The closest thing out there, actually, is Tumblr. Tumblr offers a social platform that is rich in content and customization and strong in supporting “viral multimedia.” The two problems Tumblr has are:

  1. Almost zero support for interaction – the only real interaction on Tumblr is sharing others’ posts, and
  2. Almost zero support for long text, since 99% of the content on Tumblr is visual. It just doesn’t work well for long posts, like this one.

Let’s figure this problem out together! I know I’m not alone. What are you doing to combat this problem?

Backing Up a Bitnami WordPress Stack on an AWS Micro Instance

Wednesday, August 31st, 2011

If you follow me, you know that I am quite enamored with Amazon’s EC2.  Scalable, reliable, powerful, and cheap – it’s a revolution in computing.

The smallest and least expensive EC2 instance is the Micro instance.  It’s perfect for a light-duty web server: it has low memory and CPU capability but is capable of bursting to two processors, giving it responsiveness when you need it.  And Bitnami has the perfect partner for your Micro instance: a WordPress stack customized to live in the cramped space of the Micro instance.

What you get in the package is nice: a complete LAMP stack running on a simplified Ubuntu 10.04 server with WordPress preconfigured and ready to go.  Bitnami conveniently puts the entire stack in a single directory – you can zip that directory and drop it on another server and with very little effort you’re up and running again.

There’s plenty of info on the Bitnami site, so if you’re interested in setting it up, head over and check it out.

Where I was left a bit in the dark was… backups.

My first instinct was to use an S3 rsync tool to sync the Bitnami stack to S3.  There’s S3rsync, but that costs money, and I’m seriously committed to spending the smallest amount of money possible on my web server.  So I passed and instead settled on using S3cmd instead.

Using S3cmd, I was able to write a simple script that performs the following:

  1. It stops the Bitnami stack temporarily (this is acceptable in my application)
  2. It ZIPs the contents of the Bitnami folder to a ZIP file that uses the date as the filename (2011-07-11.zip)
  3. It copies the ZIP file to an S3 bucket
  4. It restarts the server

As a once-a-week backup it worked pretty well.  Backups were a little large, because they contained a full snapshot of the entire stack, but S3 storage is cheap, and it’s nice to have your entire stack in a single backup file.

However, occasionally, the ZIP process would crash the little Micro instance (HT to +Ben Tremblay for first noticing during a heated debate on his Google Plus page).  So I started looking for another solution, and realized there is a much more elegant and powerful option: automated EC2 snapshots.

Turns out there are a number of different ways to skin this cat.  I chose Eric Hammond’s ec2-consistent-snapshot script.  Turns out this was a good choice.

Since the Bitnami Ubuntu 10.04 server was a bare-bones install, a number of prerequisites were missing, notably PERL libraries (DBI and DBD) etc.  Fortunately all of the answers were already available in the comments section of Eric’s web page.  For me, all I needed to do was:

sudo apt-get install make
sudo PERL_MM_USE_DEFAULT=1 cpan Net::Amazon::EC2
sudo apt-get install libc6-dev
cpan -i DBI
cpan -i DBD::mysql

The first time I tried it, it worked.  One line of code – in about 0.8 seconds I had taken a snapshot of my disk.  In no time at all I had installed a CRON job to automatically snapshot my server.

EBS snapshots are always incremental (only the changes since the last snapshot are written to disk) and restore in a flash.  I’ve done a restore and it takes just a few seconds to reinstantiate a machine.  And the actual backup is absurdly gentle on the machine – the script runs in about a second.  Bang! Instant incremental backup.  It’s a miracle.

The script is designed to flush the database and freeze the file system so that the snapshot is performed in a “guaranteed consistent” state.  Unfortunately, to freeze the filesystem, you have to be running XFS, and the Bitnami machine uses While I agree that it is important to quiesce the database prior to snapshotting, I don’t know that it is required to flush the filesystem, since EBS volumes are supposedly “point in time consistent”.  Regardless, my web sites do so little writing to disk that it is inconceivable that my file system would be in an inconsistent state.

In short: *rave*.

Lessons in WordPress Conversions

Wednesday, July 27th, 2011

Over the past few days I’ve been performing a pretty significant WordPress migration for a set of sites that I have been hosting.

The source is a set of individual WordPress sites running on an small Amazon EC2 Windows instance.  I migrated them to a multi-site installation running on a micro EC2 Linux instance.

Over the course of the conversion I learned a variety of lessons.

First, I learned that the WordPress multi-site (“network blog”) feature is still fairly half-baked.  You have to be prepared to get your hands pretty dirty if you want to make it work.

I also learned to really appreciate the Bitnami WordPress Stack AMI.  It allows you to spin up a fully-configured, ready to use Ubuntu LAMP / WP stack onto an EC2 micro instance with a minimum of fretting.

I will update this post with some details of the process for those interested.  In the meantime – success is mine!

iPad vs. Android vs. Windows 8 – Further Thoughts

Thursday, July 7th, 2011

Several people made some good points in regard to my article on iPad vs. Windows 8.

The most salient one, and the one I keep hearing, is the comparison to iPod.  It goes like this:

Yes, Apple only garnered a minority market share with the Macintosh and the iPhone.  But with the iPod, Apple was able to create and hold a substantial majority market share by establishing such a strong brand identity that “iPod” became synonymous with “portable MP3 player.”  Now, the iPad seems to be holding a majority market share as well by making itself synonymous with “tablet.” Therefore we should compare its trajectory to the iPod, not the iPhone or Macintosh.

The other salient argument goes like this:

Apple has a lock on the “high end” tablet market.  The iPad is better conceived, designed, and constructed than its Android or Windows counterparts.  Users really aren’t that interested in a marginally lower priced machine that offers lower design / build quality, and its hard to see how other manufacturers can “out-quality” the iPad, or if users really want a “better quality” tablet than the iPad.

I like argument #2 best.

The problem with argument #1 is that it ignores the market dynamics.  Macintoshes, iPhones, and iPads all have one thing in common: they are pieces of hardware running an operating system.  OK, technically, this is also true of the iPod, but only technically so. The OS of the iPod is more like an embedded firmware.

Apple’s minority market position with the iPhone and Macintosh stems from the fact that the OS and hardware are coupled.  Apple competes not just with Microsoft (for the OS), but with a gazillion other PC manufacturers (for the hardware).  It does this with phones as well, competing not just against Android but against every phone maker that produces an Android device.  So Apple can sell more PCs than any one PC maker, and more phones than any one Android manufacturer, but against the market as a whole it remains a minority player, albeit a large, powerful one.

Well, tablets are no different from phones and PCs: they are a piece of hardware running an OS, and it is a matter of time before tablet makers are able to closely copy the hardware designs of the iPad and the software advantages of iOS and release an Android tablet that competes well.  Will people buy it?  Yes.  Android has a majority market share in phones and a compelling tablet offering will appeal to that majority.

Windows is more of a wild card here.  In my previous post, I pointed to the fact that corporate IT departments will be much more likely to adopt a Windows 8 tablet than an iOS or Android tablet since it is an OS which they already support and understand.  I still think this is true.

Many people countered with the argument that with HTML5, it is irrelevant which device you support.  I agree but remain skeptical whether corporate IT departments will develop mission-critical wireless HTML5 applications. Corporate IT is happy with hard-wired web apps, but when it comes to running a mission-critical app over 3G or 4G networks, I think that is a far more risky proposition.

If I was asked to develop a mission critical application that ran wirelessly over a 3G or 4G network, I would almost certainly develop a “fat app” that replicated its data with the mother ship and which could run at 100% during network unavailability.  And, as a corporate IT developer, I would lean heavily on Windows as the platform of choice for developing that application, especially since the odds are very strong that the company already has a sizeable investment in technologies like .NET and MS SQL server.

If (and this is a very big “if”) Microsoft can deploy a compelling tablet version of Windows before the market has saturated, I think there is a good chance that they will capture significant corporate sales.  As we’ve seen in the past, inability to penetrate the corporate market was a serious impediment to Macintosh and, for a while, also the iPhone.  If Microsoft can execute, this is a strong opportunity for them to stay in the game.

Windows 8 vs. iPad: Advantage Microsoft?

Sunday, June 5th, 2011

There’s been a lot of buzz in the industry press recently about Windows 8, the new touch-centric Windows from Microsoft.

Much of the press has been understandably skeptical.  Apple definitely hit a home run with the iPad, building it on top of the iOS mobile touch interface.  Microsoft, instead, is building “up” from Windows by layering a new browser and application UI paradigm on top of existing Windows.  It’s easy to see where Microsoft might stumble, and hard to see how Windows 8 could possibly approach the seamless elegance of iOS.

And, the truth is, it probably won’t.

And, the truth is, it probably won’t matter.

Here’s why.

A History Lesson

The year is 1990.  I’m sitting at my workstation in Classroom 2000 on the University of Texas campus in front of two state of the art machines: a 386-powered IBM PS/2 running OS/2 and Windows 3.0 and a Motorola 68030-powered Mac IIci.

I’m teaching a class of IBM Systems Engineers (a glorified term for salespeople) who have come to learn about desktop computers. In this class we’re learning about PostScript, but really, the whole exercise is to throw Macintoshes in their face to scare the hell out of them.  And it works.  More than once, you hear an IBM employee mutter, “we can’t win.”

But they did.

In designing the Mac from the ground up as a windowed operating system, Apple has the clear technical advantage.  The machine is slick as hell: 32 bit architecture, peer-to-peer networking, 24 bit graphics, multitasking, and a beautiful, well-conceived UI.  Conversely, in PC-land, there’s Windows running on top of 16 bit DOS: a veritable Who’s Who of Blue Screens of Death and a nightmare of drivers and legacy text-based apps running around.

And yet, Apple failed to capitalize on their obvious competitive advantages, barely growing their market share over the next 10-15 years.

Why?  Because the largest purchasers of computers are corporations, and corporations purchased IBM / Microsoft as an extension of their current computing platform.  In part this was out of ignorance of what Macintosh could do, in part it was due to specific shortcomings of the Macintosh platform – but those aren’t the reasons corporations failed to embrace Macintosh. The real reason Macintosh never broke through the corporate barrier was because it never made sufficient sense to throw out all the legacy apps and start over again on a new hardware and software platform.

Office applications are not the engine of the productivity boom.  Word processors and spreadsheets don’t offer competitive advantage.  Factory automation, enterprise resource planning, sales force automation, customer and supplier portals – these are the expensive and risky custom-built applications that drive competitive advantage.  For that reason, you sometimes still see applications that remain GUI-less – you don’t screw with stuff that works – and oh by the way, throwing a nifty UI on an app like that can cost a fortune and offer negligible – even negative – payback.

So to synopsize our history lesson: Apple failed to sell to corporations because it never made good financial sense for those corporations to reinvent their line-of-business applications for a different platform.  Apple established itself as a great consumer brand and carved out niches in media production and desktop publishing – markets that were not tied to traditional corporate IT.  But because the corporate world used PCs, most individuals purchased PCs for the home, and Apple was unable to substantially grow its market share in spite of technical advantage and overall coolness.

Fast-Forward

We are now seeing the same history lesson repeat itself with the iOS-based iPad tablet going head-to-head against the next generation of Windows tablets.  In order to create the ultimate tablet experience, Apple has adopted iOS as the application platform for the iPad.  And while the iPad is a formidably slick and compelling machine, iOS is probably not the operating system of choice on which to develop mission critical corporate IT applications.

Enter Microsoft with Windows 8.  Will it be clunky?  Almost certainly.  Will it fray around the edges?  Yes.  Will there be jarring experiences where the user drops suddenly and unexpectedly into the old mouse-based paradigm?  Definitely.

But Microsoft can offer something that Apple can’t.  There are thousands, maybe millions of line-of-business applications deployed with technologies like C++, .NET, Access, and SQL Server.  Companies cannot and will not jettison them in order to rewrite for iOS.  But they will extend them to a Windows 8 tablet.

Microsoft’s decision to layer a touch interface on top of Windows is the only logical decision.  It’s the same decision they made in the late 1980s when they layered a GUI on top of DOS.  With Windows, Microsoft retained the established customer base while expanding their market reach by extending, rather than reinventing their operating system.  The business advantage outweighed the technical disadvantage. With Windows 8, they can do it again.

I think the decision is brilliant.

The Proof is in the Pudding

Now, we simply have to wait and see if Microsoft can deliver.  That may be a stretch.  Microsoft has a “hit-miss-miss” record with Windows.  With Windows, it was not until Windows 95 that Microsoft pulled within reach of Apple, and only Windows XP was solid enough to truly compete technically.  Microsoft cannot wait 10-15 years like it did with Windows to catch up.

I think that it’s fair to guess that Windows 8 will not be an iPad-killer, no matter how great it is.  Fortunately, it doesn’t have to be an iPad-killer.  It just has to establish a baseline of functionality and provide a suitable application development platform. Corporations will develop impressive line-of-business applications for the touch interface – specifically field-worker automation applications – if the platform is robust.

If compelling touch-based business applications can be deployed on Windows 8, it will have done its job: it will have convinced corporations that Windows can meet their needs for a touch-tablet computer, and Apple will be stymied in their attempt to finally break the barrier keeping them out of corporate America.

PS: I am writing this on my brand new, and very sweet, MacBook Pro.

To the Dark Side

Tuesday, May 31st, 2011

I have finally done it.  Please forgive me, Mom.

That’s right.  I bought a Mac: the new quad I7 15.4″ MacBook Pro.

And what’s more: I’m switching to Pro Tools 9 from Sonar.

I’ve had a long love-affair with my Dell Mini 9 Hackintosh.  The little sucker went with me everywhere.  I used it as my travel computer.  I used it in my keyboard rig.  Small to the point of silly, and relatively inexpensive, it was the perfect travel machine.

Well, it got stolen in Mexico.

A confluence of needs had me wanting a new MacBook Pro anyway, and what better time than after the sudden loss of the Hackintosh.  So I have finally taken the plunge for real.

More to come…

Sony: Security Fail Redux

Friday, May 20th, 2011

By now, everyone knows that Sony’s Playstation Network got hacked earlier this year.  It’s a big mistake that shouldn’t have been made, but we all make mistakes.  The key to Sony’s viability as a player in the online world is that it be able to learn from its mistake.

Today, Sony is reporting a new intrusion:

In a warning to users issued on Thursday, So-net said an intruder tried 10,000 times to access the provider’s “So-net” point service [...] from the same IP address.

There is absolutely no reason why any online service should allow an intruder to attempt 10 unsuccessful login attempts from the same address, much less 10,000.  This represents a complete failure to grasp the fundamentals of security, and any reasonable observer would have to conclude that Sony is completely security-blind and totally naive.  You can expect many, many more stories like this to emerge unless the company adopts a complete reinvention of its online presence.

Hackintosh vs iPad

Wednesday, March 23rd, 2011

A lot of people come into the coffee shop with iPads and are intrigued by my Hackintosh…. As a portable, I’ll take my Hackintosh over an iPad for most everything I do, with some caveats.

First off, it cost about $500 as configured (includes the cost of a Snow Leopard install disc) – 2 GB RAM, 64GB SSD (soon to be 2x for 128 GB total), camera, Wifi, bluetooth.  That’s considerably cheaper than a comparable iPad (actually there is no comparable iPad, but if there were it would likely cost close to $1K).  It can run almost any Mac, Windows, or Linux app (I *love* the Ubuntu 10.10 netbook edition) – “almost” because it won’t run apps that exceed its screen size without connecting to an external monitor.  With 3 USB ports and an SD slot, it can connect to a KVM so I can use it as a desktop Mac – it’s about as powerful as a Mac mini.  And it runs Snow Leopard *very* well – I never have lockups, everything works – I even use it onstage for my software synths, which usually are the litmus test for stability.

The keyboard is cramped and requires a slight relearning curve but I am confident I can out-type compared to the on-screen iPad keyboard – if you have an iPad keyboard case, however, you’ll win.  The battery life is less but still impressive – ~5 hrs of heavy use, 6+ hrs of light use, 48+ hrs of sleep, depending on monitor brightness.  It’s about as thick and heavy as an iPad if you have an iPad keyboard case.  It’s also tough.  Mine has been dropped on concrete many times thanks to clumsy drummers and shows almost no signs of wear.

I have the Mini 9, while Vanessa has the 10v.  The 10v has a slightly larger screen and keyboard (the keyboard is a lot less cramped) and can accept a standard 2.5″ hard drive so you can up it to 500 GB or more, or use a big SSD (if you can afford it).  The 10v, by all accounts, is as good as a Mini 9 as a Hackintosh.

Of course there is a level of tweakery required to get the thing running, but it’s actually fairly easy to do, as there are really good guides and helper apps available now.  In short, you copy a file onto one small USB drive, you copy Snow Leopard install onto another, larger drive, and then boot up from the USBs.  Two or three clicks and you’re installed to 10.6.  A couple of tweaks and you’re ready for 10.6.7.  The only thing that doesn’t work at that point is the internal mic, which requires a hack to enable (USB headset mics work fine).  The hack took me about 15 minutes to complete.

Next step: install Snow Leopard on my desktop.

Samsung Epic 4G AMOLED vs. HTC EVO 4G LCD Screen First Impressions

Tuesday, August 31st, 2010

I had a chance today to do a hands-on comparison between the two major 4G contenders from Sprint: the HTC EVO and the brand-new Samsung Epic.  Let me cut to the chase: I found the Epic’s AMOLED display to be unusable.

The Epic’s brilliant, colorful AMOLED leaps out at you with brilliant, oversaturated colors that make your existing phone look black-and-white, while the EVO’s LCD display humbly displays a neutral, normalized color palette.

On first impression, the Epic grabs your attention. “WOW, look at THAT!”  Images and videos just POP to life in a way you’ve never seen before.

But, on second impression, the AMOLED display comes up short.

The first thing you’ll notice is that whites are blue, not flat white.  Oversaturated colors pop at first, but eventually you start to see them as actually oversaturated.  These are minor problems, but problems nonetheless.

The major problem – the dealbreaker – is text.  The AMOLED display is incapable of rendering smooth font edges.  Instead of a nicely-blurred edge, individual pixels appear, resulting in difficult-to-read text.  The smaller the font, the more obvious the problem, as the eyes focus on tiny font details that turn into individual pixels.

It appears to me that the pixels in an AMOLED display are each surrounded by a tiny black border.  This is unnoticeable when displaying photos or videos, but black-on-white text – or white-on-black text – clearly shows the shortcoming.

I was hopeful that the Epic could be my new phone, but it and its Galaxy S brethren are now crossed off my list.  AMOLED fail.

Ubuntu’s Multimedia Challenge

Thursday, August 26th, 2010

Having used Ubuntu exclusively now for a few weeks, I am a true believer.  It’s just a great operating system, with great looks, speed, and power.  And it does almost everything a modern platform should.

Until you need multimedia power.  Specifically, photos, music, and video.

Ubuntu’s photo managers, like F-Spot, Shotwell, and the like are all hopelessly simple.  They tend to choke on large collections.  The first time I started F-Spot, I pointed it at the folder containing my photos and watched it die a miserable death.  They don’t organize well by metadata: sort by date, or sort by folder.  That’s it.  They either don’t connect to photo sharing websites, or connect only very clumsily.  The editing capability is terribly lacking.

Here, the paradigm is Picasa.  Picasa handles importing, organizing, simple editing, and uploading to a sharing site with absolute aplomb.  It is super fast, handles huge collections with ease, is very easy to use, and is surprisingly powerful.

Picasa is available as a download from Google (it isn’t available through the Ubuntu software manager) and only runs as a WINE app.  It’s stuck on version 3.0 and there is no sign of a future release, even though Google remains staunchly pro-Linux.  Nevertheless, Picasa 3.0 running under WINE is far better than any native Linux alternative.

In order for Ubuntu to succeed in the mainstream, it needs native Picasa, or a sufficiently robust alternative.

Next up is music.  The default player, Rhythmbox, is woefully inadequate.  I was sorely put to the test when I tried to perform the most basic of music management tasks: create a playlist and put it on my iPod.  I created the playlist easily enough, but found there was no way to copy it to the iPod.  FAIL.  Undaunted, I copied the tracks from the playlist to the iPod, then created a new playlist on the iPod and dragged the tracks into it.  This almost worked, except that when I tried to order the tracks to my liking, I found that they remained in the original order on my iPod.

And then when I tried to rename the playlist, Rhythmbox crashed.

Here there is One App to Rule Them All.  iTunes?  Ha!  I scoff at the suggestion.  Nay, not iTunes.

MediaMonkey.  Far and away the best music management app, ever.  By a longshot.

If all you do is buy songs from iTunes and play them in iTunes and on your iPod, then iTunes might be good enough for you.  And it would be better than any of the native Linux alternatives.  Of course, iTunes on Linux ain’t happening.

But if you have a complex mess of MP3s, FLACs, stuff your friend loaned you on a flash drive, songs you ripped from your CDs, and other serious organizational tasks, MediaMonkey’s database-driven design puts everything else to shame.

In order for Ubuntu to succeed as a mainstream OS, it needs music management software on par with MediaMonkey.

I’ve already mentioned how badly I hit my head on video editing.  I don’t expect Ubuntu to ship with a free copy of Vegas.  But the existing video apps are super weak.  Let’s pick one and run it over the NLE goal line, OK?

At least Ubuntu runs VirtualBox well.  I will need it for a few Windows apps that I’m not going to be able to leave behind.

At least, not yet.