Does Intentional finally have clear intent?

Reminder: This represents personal views, not those of my employer

Almost 16 years ago, while at Microsoft, I was asked to take a look at the work Charles Simonyi was doing on Intentional Programming (IP) to see if I could find a place to apply it.   After spending some time with Charles I came to the conclusion that while interesting, I couldn’t find a place to apply IP in the near-term. I wasn’t the first to come to that conclusion, the investment in IP was on the chopping block as it hadn’t found a productization home.  Not long after I failed to come up with a way for Microsoft to exploit IP, Charles got Bill and Steve’s blessing to take IP outside and form his own company around it.

For 15 years Charles’  Intentional Software pursued IP, though until today I didn’t know to what end.  It seemed like little more than a pet project of Charles’ that would never bear fruit.  But apparently Intentional Software eventually found a clear intent for IP, a new platform for creating team collaboration applications.  Microsoft, which has shown a strong focus on team collaboration lately (*), was so excited by where Intentional Software was going that it decided to acquire them.

Congratulations to Charles and the Intentional Software team.  Charles has been working on IP for at least 22 years, and it’s nice to see his faith rewarded.  Assuming Microsoft proves out the value of IP by turning Intentional’s collaboration platform into a successful commercial offering, it will be interesting to see where else it can apply IP.

(*) Microsoft has been obsessed with team collaboration since at least the early 90s.  So it is a little disingenuous to point out that it is a recent focus.  Exchange’s Public Folders and Microsoft Access’ multi-master replication were 1990s features intended to support collaboration and collaboration applications.

Posted in Computer and Internet, Microsoft | 2 Comments

The beauty of Amazon RDS Multi-AZ

I’m working on a blog post that tracks advances in high availability from the 1950s until today.  It will be way too long for most to read, but I’ll eventually finish writing it since it amuses me.  In the mean time I came across references that triggered a desire to write about a more narrow topic.  And as a reminder, this is my personal blog and these are my views, not necessarily those of my current or previous employers.

If you have some time take a look at John Devito’s tutorial on creating a Windows Cluster.  John doesn’t even talk about obtaining and maintaining the requisite hardware, but it still takes to Part 4 to get Microsoft SQL Server failover clustering working.  Or take Brent Ozar’s article on setting up SQL Server 2016 AlwaysOn Basic Availability Groups.  Brent also recommends you download his checklist for setting up the SQL Server you will be using as your secondary, take some precautions so it will be compatible with the primary, and apply necessary Windows patches.  John and Brent make this easier by taking what seems like an infinite set of choices and turning them into a recipe.  But it’s still not a recipe you can simply whip up for dinner.  These are but two of many write-ups you can find that demonstrate the difficulty in creating a high-availability solution around the tools provided for Microsoft SQL Server.

Putting a high-availability solution in place for any database engine is difficult and complex.  Oracle is in a class of its own, on both capabilities and the complexity of implementation.  For open source databases there are many options and they all come with differing levels of trade-offs and complexity of implementation depending on the characteristics you are looking for.  Want to implement a highly-available PostgreSQL database?  Here’s a cookbook for you.  Or maybe a packaged consulting offering from EnterpriseDB would help you breakthrough the complexity. Their are a myriad of solutions for MySQL (a 2010 book listed 50 recipes).  There is a more recent book by members of Oracle’s MySQL team covering some of them.  MariaDB and Percona would both love to help you with consulting to set up your high-availability MySQL solution.

With all this complexity you can imagine the pleasant surprise when a couple of years ago I discovered the Amazon RDS Multi-AZ capability.  To setup this high-availability solution takes a single step at either database instance creation time or later via modifying the instance, select Yes (in this case for Amazon RDS for SQL Server) from a drop-down:


Of course the implementation of Multi-AZ may be complex, but all of that is hidden from the DBA and other IT staff.  The real work is done by the infrastructure and software that Amazon has created.

When I think back over the years through all the application databases that should have been highly available, but weren’t because of the complexity and cost involved, is when I get the most excited about RDS Multi-AZ. When I tried to reserve a tee-time, and the system was down.  Or place an order on a small specialty store website and see the telltale error message indicating the website can’t talk to the database.  Or be rushing to change my company benefit elections before open enrollment ends, and realize the database is down and no one is around to do anything about it until Monday.  Or look up a book on my Library’s on-line card catalog and realize I was going to have to manually search the stacks instead.

Sure RDS Multi-AZ dramatically brings down the cost and complexity of keeping  obviously mission critical databases running.  But what excites me even more is that it enables all databases to easily be made highly available.

Stay tuned if you want to know why the transistor was the biggest improvement ever in computer system availability, how a number of attempts to improve availability turned out to be so complex they actually reduced availability, the big breakthrough of checkpoint restart, and how ACID saved the world. It will take me a while to wrap that up, but hopefully it will be worth the wait.

Posted in Amazon, Cloud, Computer and Internet, Database, SQL Server | Tagged , , | 4 Comments

Amazon RDS Customers: Update Your SSL Certificates by March 23, 2015

Amazon RDS customers who use SSL to connect to their databases should read this post on the AWS Security Blog.  X.509 certificate expiration may not be a topic database professionals typically worry about, but in this case you need to.

Posted in Computer and Internet

Android, the anti-productivity OS

After 7 months of torture I have abandoned Android and my LG G3 and returned to my Lumia 1020 Windows Phone.  The 1020 now feels thick, even clunky, and after the G3’s 5.5″ screen the 1020’s 4.5″ screen feels tiny.  But the “ahhhh” feeling when I started using Windows Phone 8.1 again, that is priceless.  And the first time I took a picture, well again some real satisfaction compared to Android.  I really want a new flagship Windows Phone, but apparently that will have to wait for a few months.  But the real story here is why I switched back.

Android just never worked for me.  Want me to say something good about it?  It has the apps.  If they actually work on your device.  I admit I’m sorry I went for the LG G3 over a Samsung Galaxy S5 for three reasons.  One is that the S5 has fewer app compatibility issues owing to its popularity (aka, the G3 suffers from Android’s fragmentation problem).  Another is that the G3 has been unreliable, requiring pulling the battery about every other week to deal with a system hang.  But mostly because if used with a non-LG charger the G3 will beep every minute once it is 100% charged.  This is not good for sleep.  There is no reliable way to eliminate this beeping, except perhaps by rooting the device.  That is BS.

My biggest issue with Android itself is how poorly it supports the Microsoft ecosystems, both the business (i.e., Exchange) and consumer (i.e., based ecosystems.  Want 1 of 100 examples: I get a text from someone and want to save their mobile number in my contacts, which is where my personal contacts go, and I’m out of luck.  I ran into things like this repeatedly over the last 7 months.  If you are primarily, preferably exclusively, wed to the Google ecosystem then Android is fine.  Otherwise, caveat emptor.

It was clear from the beginning that Android was not designed for productivity use.  For example, you can’t get your next calendar appointment to display on your lock screen without using a 3rd party app.  When I tried such apps I ran into the fragmentation problem, with the most popular unable to install on my G3.  I gave up.  Even after I unlocked the phone, display of appointment alerts was somewhat flakey.  Sometimes the alert pop-up would display but it would be unpopulated so I couldn’t see my appointment.  Android Lollipop was supposed to address this, but….

The last straw was the Android 5.0 Lollipop update.  One day I get a pop-up on my G3 saying there is an update available, but no details about the update.  I’ve gotten these periodically and I accepted the update expecting it was no more than a bug fix.  Nothing happened that day.  Or the next.  But then I needed to check my calendar for my next meeting in the middle of the day and found the phone rebooting.  It was out of commission for several minutes and it turned out that Lollipop had been installed.  Perfect (NOT!) timing.  And then figuring out what had changed, how it interacts with my installed apps, etc. became an issue.

Ever since the update my phone has been less reliable, requiring me to pop out the battery every couple of days.  And the new features I was waiting for?  Not really usable.  Notifications can be displayed on the lock screen, for example, but unless you want them pretty much all to be readable they pretty much all display as private with the phone needing to be unlocked to see the actual notification.  So you know you have a text message, but you don’t know anything about it.  I’d at least like to be able to know who it is from.  You might as well turn them off completely.  And if you want it to display the text message?  Well, expect all manner of personal or corporate information from various apps to be displayed on your lock screen as well.  Basically Google decided to skip providing sufficient granularity for what is displayed on your lock screen.

The absolute killer for me though is that Android Lollipop has made the alarms on my phone unreliable.  Like many other people I now rely on my phone as my alarm clock.  That started while traveling, and eventually I just decided I didn’t need an alarm clock as the phone was easier to set up and did a better job of waking me.  This was true of my iPhone, my Windows Phones, and (after a bunch of tweaking) my G3.  But after the Lollipop update I can no longer use my G3 as an alarm clock.  Sometimes it plays a couple of notes then auto-snoozes.  Sometimes the alarm fails to break through Do Not Disturb mode (even though I set it to do so).  Sometimes it just doesn’t go off at all.  Indeed last week I missed an airplane flight when the alarm didn’t go off.  When I looked at the clock app indeed the alarm was set properly, so I can’t tell you what happened there.  All I can say is that when I got home again I moved the SIM card to my Lumia 1020 and won’t look back.

Even finding settings on Android is a productivity killer of the highest order.  I am sure I could solve 90% of my complaints with Android by putting in a man-week of effort playing with settings, researching and trying out numerous third-party apps, perhaps even rooting the device.  In fact I probably made errors in this blog entry simply because life is too short to waste trying to figure out how to get Android to work.

I’ve focused on a lot of things here that could be specific to the G3, or to my G3, and certainly to my lack of time for tweaking the heck out of Android.  But to be fair I need to say that I just don’t like the Android experience.  If I’d gotten Android to address my needs I would have tolerated the user experience, much as many Windows PC users have for decades loved what it does for them while disliking the actual user experience.  But I never got there.

When I went back to full-time employment what I needed was a productivity device, not a hacker toy.  Android is the best hacker toy, but both the iPhone and Windows Phone are an order of magnitude beyond it on providing the right experience out of the box as productivity tools.  Windows Phone has the edge here, but of course the iPhone has the edge on apps.  If you can’t live with the restricted app library on Windows Phone, get an iPhone.  Just don’t waste your time on Android.

Posted in Computer and Internet, Linux and Android, Mobile, Windows Phone | Tagged , , | 14 Comments

Where’s Windows?

Being busy with a full-time job (REMINDER: What I post here are my own views and are not in any way associated with my employer) I haven’t been able to post in a while.  A long weekend affords an opportunity to catch up a bit after 3 months.  I thought it would be useful to check-in on where the Windows world is at the end of 2014, though I could easily summarize the situation as “Where’s Windows?”

Regular readers may recall that I’ve long lamented the lack of LTE options in Windows Tablets.  Sure enough 2014 is coming to an end with only one Windows Tablet with built-in LTE, the new HP Stream 8.  The Stream 8 ( was listed as unavailable earlier this week but is available now.  So far I haven’t found any reviews.  On the good side the Stream 8 with LTE is available for only $179 at  On the other, it’s hard to say bad, side it only seems to come with T-Mobile LTE support.  And its specs are decidedly low-end (as in no better than more than year-old mainstream 8″ tablets like the original Dell Venue 8 Pro).  At $179 I’m sorely tempted to add one to my collection, but in many ways I’ve moved on from Windows Tablets.  At least for now.

One I started carrying a company-issued Ultrabook around with me my tablet needs diverged somewhat and I made Entertainment more of an overriding priority.  That is, being able to run Windows desktop apps was definitely not a priority.  And that made a number of non-Windows tablets more interesting.  Because I’m an Amazon Prime customer and have made (both Prime and non-Prime) Instant Video a major source of content I decided to go for an Amazon Fire 8.9 HDX.  Light, high-end specs, a fantastic experience around Amazon content, and it has LTE.  It’s also more than twice the price of the Stream 8.  But that says more about Microsoft’s current focus on low-end tablets than anything else.  Microsoft and its OEMs just don’t have a device in the class of the Fire 8.9 HDX (or Apple iPad Air).

That’s not to say Microsoft doesn’t have anything in the high-end tablet space as we head toward the end of 2014.  The Surface Pro 3 is a bona-fide hit, though targeted clearly in 2-in-1 space rather than being primarily a tablet.  I’d really like to have one, and if I could get away with carrying a single device around with me the SP3 would be it.  At this point I’m probably going to wait for a next-generation, hopefully fanless, follow-on running Windows 10.  Indeed my entire commitment to Windows is probably tied up in Windows 10, something I’ll get to shortly.

Another interesting development since I stopped my regular writing about the Microsoft world is the emergence of a class of true cloud-centric Chromebook competitors running Windows.  HP is at the front of the line here again with the Stream 11 and Stream 13 notebooks.  The Stream 11 was introduced at $199 and the Stream 13 at $229, but you can get either at $199 right now.  Stream 13 LTE and Touchscreen options also appear to be available, as is a Stream 14.   I’m having trouble with an old notebook I use occasionally at a second home, and one of these inexpensive devices might be in the cards as its replacement.

Strategically it is interesting to see HP as the thought-leader OEM this year, whereas a year ago I was calling out Dell for staking out this territory.  Dell’s 2014 upgrade to the Dell Venue 8 Pro, the Dell Venue 8 Pro 5000, offers nothing significant over its predecessor.  And the Dell Venue 8 Pro 3000 is very similar at a reduced price, but the HP Stream 7 and 8 are far more innovative on both the pricing and capabilities front.  The only thing the DV8P 5000 has going for it is its active digitizer, and I didn’t find the one on the original DV8P very useful.

The truth is that the second half of 2014 has been rather boring on the Windows front.  While Windows 10 was revealed, what we’ve seen so far is just the tip of the iceberg.  Yes there is a new Windows on the horizon that will be a worthy (and probably not so controversial) successor to Windows 7 on the desktop.  That will be good for business.  But so far Microsoft has revealed very little that demonstrates Windows 10’s ability to establish momentum in the mobile (phone, tablet, or 2-in-1) environment.

For Windows in mobile environments the situation remains just short of bleak.  The library of modern apps remains empty of what is needed to capture either the tablet or phone space.  Microsoft has gone so far as to talk about the combined store having 500K apps, although that is not the number available for any given device.  What you want may be for tablets, or phones, and if it is for both then Microsoft probably double counted it.  But fundamentally, despite some improvement, on either a Windows Tablet or Phone you are going to find desirable (perhaps necessary) apps missing in action.  If apps are important, look to iOS or Android devices.

So what will 2015 bring?  Windows 10 of course.  One can’t underestimate the importance of Windows 10 to Microsoft’s prospects in the client OS realm.  It is realistically their last chance at avoiding a slow slide towards irrelevance in this particular space.  I’m not just talking about phones and tablets, where Microsoft has yet to establish relevance, I’m talking about desktops as well.  When I’m in a room with executives from just about any industry there is a mix of PCs and Mac’s.  If it is a room of technology professionals, Mac’s are equal to and sometimes a majority versus Windows PCs.  Throw in college environments and the handwriting is on the wall.  Leading indicator audiences are adopting the Mac.

If your senior executives have Macs it means your Helpdesk and the rest of your organization’s IT department are learning to support Macs in the environment.  Your organization’s apps, third-party and bespoke, are being called on to treat the Mac as a first-class client.  Even the projection equipment in your conference rooms are now equipped with Mini-Displayport adapters for Macs.  (For an almost humorous example, I was recently in a hotel conference room where the projection equipment was only set up for Mini-Displayport and the presenter couldn’t use their PC to display the presentation.)

I’m in no way claiming the death of Windows, just pointing out a shift that is not healthy for Microsoft.  It is bad enough for Windows that enterprises are letting employees self-select on phones and tablets they use to access corporate resources.  But when employees show up for their first day at a new job and are asked “PC or Mac” it means shrinking market share for Windows.  And it means that Microsoft must now fight for every sale, something that wasn’t the case just a few years ago.  Windows 10 will heavily influence what percentage of those sales Microsoft wins versus loses.

The next indicator of what Windows 10 will bring is expected in late January, when Microsoft is set to unveil a number of consumer-oriented advances.  It will likely also make available a consumer preview of Windows 10.  But the real excitement including, I hope, significant advances on the hardware front from both Microsoft and the OEMs, won’t come until next fall.  And if either Windows 10 or new hardware fall short?  Maybe I’ll start writing about the Mac.

Posted in Computer and Internet, Microsoft, Windows | Tagged , , , | 12 Comments

Amazon RDS for PostgreSQL

Take a look at Amazon RDS for PostgreSQL Update – Read Replicas, 9.3.5 Support, Migration, Three New Extensions  for some news.

Posted in Computer and Internet

Landed. Hiring.

I’ve landed at Amazon Web Services as Vice President of Relational Database Services (RDS).  And I’m hiring!

Please keep in mind that this is my personal blog and the content does not necessarily represent the view of Amazon!


Posted in Amazon, Cloud, Computer and Internet, Database | Tagged , , , | 10 Comments