Browser wars… 2011

[sc:software-category ]Way back in the early days of the Internet, back before the web even existed, people used text based systems to get information from the net.  Newsgroups, e-mail, etc. all thrived in this kind of environment and the first reaction I had to Netscape 1.0 was “Why would anyone want to do that?”.

Now, clearly, everyone wants to do exactly that Smile.  So having lived through multiple rounds of the browser wars, how does the current one stack up?

There are currently five (yes, that’s a lot) major browsers for Windows:

  • Internet Explorer
  • Firefox
  • Opera
  • Chrome
  • Safari

That’s an astounding number really and it doesn’t take in to consideration the multitude of others that exist, but just don’t have the market share to be considered here (some might argue that Opera doesn’t, but it’s my blog so live with it Winking smile).

Out of these five browsers, there are actually only 4 engines in use (Chrome/Safari are both built on WebKit) and each has been trying to out perform each other over the last few years.

Over the last few months, IE, Firefox and Opera have all released new, significant, versions of their browsers, and well, Chrome releases one every couple of days don’t they?

Over the last several years, I have focused on using three browsers:

  • The Daily Driver: Opera
  • The Convertible: Firefox
  • The Classic: IE

Opera is what I use to do the vast majority of my browsing with, by default Javascript is turned off and browsing the web is fast, secure and reliable.

However, sometimes, there’s just a site that doesn’t work in Opera, I won’t say who’s fault it is, but Opera’s commitment to standards does suggest a culprit Winking smile

When this occurs, Firefox becomes the next choice and finally IE if that fails as well.

When Chrome came out I pulled down a copy to see what it was like, but I just didn’t need a fourth browser so while I do keep an eye on it’s development, it’s not used in my day to day browsing.  Safari is similar to Chrome in this regard, it’s not good enough to replace any of the others, and a fourth browser is overkill.

Opera 11

My first install of Opera was way back in version 3.1.  That was even before it was free, when I purchased a license it was so good. My how far it’s come since then.

Today’s Opera is a far cry from back then, but the core values have remained the same.  Fast, stable and standards compliant.  These core values have proved to be invaluable to Opera’s development and has created a browser unlike any other.

IE just doesn’t have the features and Firefox needs so many addon’s to get to it that it’s almost like a new browser.

Some of the features I use most in Opera include:

  • Tab groups
  • Site specific Javascript configuration
  • Search provides in the address bar
  • SpeedDial
  • Opera Link

But the list of features is truly astounding.

Onequirk I have with Opera is:

  • By default tabs do not show up in the Windows 7 taskbar.

Firefox 4

The just released Firefox 4 brings to the table a much needed visual update to the browser along with a host of under the hood improvements.

My browsing habits don’t really show off the updates they made under the hood, but boy is the interface a refreshing update.  Firefox 3 on Windows 7 looks very long in the tooth and the 4.0 update makes short work of that issue.

In general the upgrade process was without issue, however on one of my systems the upgrade failed to detect an incompatible theme I was using and let’s just say the result was… amusing Winking smile.

One of the best new features in Firefox 4 is the Sync feature.  Opera has had Link for quite a while and while using xmarks did the job, a fully integrated system in to the core software is nice.  Firefox actually goes one better than Opera in this case as the data is encrypted before it is sent to the servers so Mozilla cannot see the data that you store on their servers.

One of Firefox’s greatest strengths is its add-ons, here’s what I use with Firefox:

  • Adblock Plus
  • Add Bookmark Here 2
  • Flagfox
  • InstantFox
  • NoScript
  • SearchWith
  • Speed Dial
  • Tab Mix Plus
  • Tab Scope
  • text2link

As you can see, it takes quite a few add-ons to bring Firefox up to where Opera is by default.  This of course brings up my chief reason not to use Firefox as my default browser, the continual upgrade cycle.  It seems like every day I end up restarting Firefox to update one of the add-ons.

Two quirks I have with 4.0 are:

  • By default tabs do not show up in the Windows 7 taskbar.
  • The new “do not track” option is disabled by default.

Both of these defaults seem odd to me.

One of the big new features in 4.0 is the Tab Groups, but as I seldom have more than 3 tabs open at any given time in Firefox, I haven’t had much use for this yet.  I suspect if Firefox was my primary browser, this would be a must have feature, much like Opera’s.

Internet Explorer 9

Aaaahh, IE.  So warm and comforting to know you will never leave us! Winking smile

But IE9 is not like any other version of IE out there.  In fact its so good, its scary.

I started using the RC’s of IE9 several months ago and found it was a big improvement over IE8 and leaps and bounds of IE6 (which work still has me using).  The clean interface, reduced down to the bare minimum like Opera, Firefox and Chrome makes IE an actual contender again.

But if Firefox is burdened by too many add-ons, then IE is burdened by none at all.

IE9 seems downright spartan in comparison to Opera and with enough add-ons, Firefox.  There was noise at one point of IE being able to use Firefox add-ons but nothing seems to have come of that for the 9.0 release.

IE9 is a major step up, support for standards and a new clean interface make it good enough to complete in the new ware of 2011, but its limited options and lack of expansion do still make it feel like there’s a long way to go.

If we use the standard “3 versions to get it right” rule of thumb for Microsoft, then IE8 was version one(I don’t count IE7 here simply because it was clearly a desperate move to get ANYTHING to market after the long wait from IE6), IE9 is version two and what comes next will likely give everyone a run for their money.

Summary

In summary, the new browser wars are just getting started and this time it looks like the winners will be the users.

I am starting to think that I can finally move to just two browsers, certainly Opera is going to remain my primary browser, but perhaps IE can be sole secondary browser… Nah, I guess Firefox will have to remain for a while yet.

KeePass for Windows and 7Pass for Windows Phone 7

[sc:software-category ]Password management has always been a challenge and over the years the password vault has come a long way.  Currently KeePass is my vault of choice as it is open source, support for multiple platforms and is actively developed.

But I use KeePass to store more than just my computer account information, I store any important passcodes I have in it, including phone backing details, credit card pass codes and pretty much anything else that is sensitive.

However, like all vaults, sometimes you don’t have direct access to it.  This can be because you are off site at a clients, on vacation or at a friends house.  This is when a portable version of KeePass comes in handy and fortunately there is a number of ports for most major mobile OS’s.

When I had my Windows Mobile 6.5 device, I had a port of KeePass installed and used it infrequently but it provided a value service and a handy backup of my database at the same time.  Moving to Wnidows Phne 7  knew I’d be losing this but low and behold when I went to upgrade my local KeePass installation, two separate WP7 apps support KeePass files.

KeePassWP which seems to have stalled and 7Pass.

7Pass has one big limitation, its read only at the moment, but that is not a showstopper for me.

Installing 7Pass from the Marketplace was simple and the “Trial” version is actually fully functional with a simple nag notification on startup.  It otherwise uses the standard interface conventions of WP7 and provides a straight forward interface to the user.

Unlike Windows Mobile, Windows Phone 7 does not support any kind of user access to the file system, so getting a KeePass database on the phone is not quite as straight forward as it might otherwise be.

To get around this limitation, 7Pass support two options:

  1. Web Server Location
  2. DropBox

I don’t use DropBox (no other reason than I’ve never had a need for it) and while I believe KeePass has a secure file format, I see no reason to test that theory as I have a webserver I can use to host the database.

7Pass has little in the way of documentation (it’s a young project,  don’t blame it Winking smile) and nothing on how to configure the web server to support it.  7Pass does support user authentication on the web server and has fields for username, password and domain name.  So, I created a folder on my internet accessable webserver (II7), configured SSL as a requirement, and set authentication to basic, digest and Windows.  Dropped a copy of my KeePass database in the folder and pointed 7Pass to it.

If only it were so easy Smile.  7Pass came back with a file not found error.  Using IE on the phone worked without an issue (though it didn’t know what to do with the file).

Looking through the IIS logs it became apparent that the username/password were not being passed to the webserver from 7Pass, having been whacking at SharePoint and Windows Phone 7 a few weeks ago (which is still not working by the way) I remember a few posts I had found around what authentication modules were supported by Windows Phone 7 and most seemed to indicated Windows Auth was not one of them.

Take a stab in the dark, I left basic and digest on and turned off Windows.  7Pass promptly found the file but complained about it not being a valid KeePass file.

One step forward, one step backward Sad smile.

I found one reference on the 7Pass site about the issue, but no resolution.

Now I’ve had my KeePass database for quite a while, since early version 1, and it’s been upgraded to 2, I figured it might be something in the older version that did the conversion that might be the culprit, so in KeePass I exported the database to a new file and tried that.

Hazzah!  7Pass promptly loaded the file successfully and I was then prompted for my database password.

I don’t know if it’s a bug in 7Pass or a limitation/bug in WP7 but either way it works now.

The Good:

  • Trial version fully functional
  • Clean WP7 interface
  • Support for KeePass databases
  • DropBox support
  • Webserver support

The not so bad/not so good:

  • Cheap to get rid of the nag screen

The Bad:

  • Little documentation around webserver setup
  • No editing at the moment

WordPress and Post Editing

[sc:wordpress-category ]Having now writing quite a few blog posts, I have found WordPress to be, shall we say, annoying to actually edit posts in.

No, that’s not quite right.  Web browsers are annoying to edit posts in.  the WordPress editor is of course limited to the platform it is written in and as such is quite good within those limits.  But lets face it, anyone who has used a desktop word processor knows that all web based editors don’t stack up very well against them.

My search for a better solution started out with WordPress itself, which has a “Paste from Word” option, however I found this to be a poor solution to the problem.

Some googling later found several options, each of which had several pros and cons, however what did surprise me was that one of the options was Microsoft’s Live Writer.

Live Writer is part of MS’s Live Essentials free add-on package for Windows and in fact was already installed on my system.  After a quick setup to connect to JumbleCat, I had access to my current posts, drafts and other items right from Live Writer.

Live Writer includes several helpful features that make writing posts more like writing on the desktop, including the ability to write posts offline (I found the extremely useful recently while I was on a flight).

The Good:

  • Offline editing
  • Native Windows application
  • Full WordPress and other blog integration
  • Both publishing and draft mode posting supported
  • Full support for categories, tags and other items.
  • Full preview and source edit modes

The not so bad/not so good:

  • Default option is to use a single window for all posts, so editing multiple posts at once is not possible, can be changed in the options menu.
  • Default option is to replace quotes with “smart” quotes, which is kind of annoying, but again can be changed in the options menu.

The Bad:

  • No ability indent text
  • To get the theme from the blog to do the full preview, Live Writer has to create and then delete a post to the blog.  It must be possible to get the theme without doing this.

OpenVPN and Failover Clustering – Part 2

[sc:linux-category ]My previous post on OpenVPN and Failover Clustering had a happy ending, unfortunately that’s not the end of the story.

It turns out that the cluster was randomly failing between the two nodes every few minutes and the log files on the servers were filling up with errors.

I’ve been forced to disable the clustering at this point while I investigate what’s going on.  The log files indicate that UCARP (the software that manages the virtual IP address between the two systems) is detecting a crash of the OpenVPN process and failing over to the other system, however the OpenVPN server doesn’t actually seem to be crashing.

A new release (1.7.1) of the OpenVPN Access Server did not help either.

I’ll have to spend some time on this, but there are other more important items on my agenda for the time being so this will take a back seat for a while.

OpenVPN and Failover Clustering

[sc:linux-category ]Being in the tech field means that quite often I’m working away from my house and security becomes a concern.  For quite a while I simply used Microsoft’s PPTP solution built in to Windows, however PPTP is not exceptional secure and more and more networks are blocking the protocols it uses.

For the last year or so I’ve been running an OpenVPN server to get around the limitations of PPTP and support a more “standard” HTTPS protocol that nobody blocks 🙂

OpenVPN is an open source implementation of a VPN using HTTPS and supports multiple client types, including Linux, Windows and Mac.   There are two version of the software, the true open source implementation which has server support for Windows and *nix.  There is also a commercial version called Access Server which supports multiple Linux versions as well as per-packaged VM appliances.

OpenVPN AS is actually free to use for 1 or 2 simultaneous connections so instead of building yet another VM to install it on I decided to use the VM appliance which made installation a breeze.  I’m running VMWare server  for my hypervisior and OpenVPN came in a zip file that contained the virtual disk and machine definition file, all that was required was to go in to the VMWare admin web site and add the VM to the host.

Resourcing for the VM was quite reasonable, with only 256 meg or RAM required and a few hundred meg of disk space.

Performance is likewise quite good as well, running on a system with multiple other VM’s going I’ve still been able to video stream across the net with it without stutter or pauses.

I have two VM servers that I use to host several different VM’s and over the years I have been creating more and more redundancy between them to ensure that if one of them is offline for some reason (power supplies die, hard drives fail, etc.) I still have my core services up on at least one of them.

When I first installed OpenVPN, no clustering was supported at all, so I installed it one a single VM host and accepted the risk that if that server was down, I wouldn’t have access to it.  I still am running the PPTP server and also have a SSH server available on the second VM server so all was not lost if OpenVPN was not available.

Recently OpenVPN added failover clustering to Access Server and they are planning on supporting load balancing at some point in time as well.  As I was doing some additional work on my VM servers over the last couple of weeks I decided to setup a second OpenVPN server and see how failover mode worked.

The first thing I did was to upgrade my existing OpenVPN installation to the latest release and ensured that it worked, which was a simple package download and install.

And then I made my first mistake.  I broke the cardinal rule of upgrades and didn’t backup my VM before proceeding.  This, as I’ll tell you about shortly, cost quite a bit of trouble Winking smile

After installing the VMDK and configuring the VM host server I booted up the second OpenVPN AS image and configured the basics, to support failover clustering OpenVPN requires three IP addresses; one for each server and a third “virtual” IP address to connect the actual clients to.

On the second VM, I only configured the most basic of of setting to get things up and running.  From  the documentation it indicated that settings like the SSL Cert etc., would be taken from the primary node.

I stayed connected to this “second” VM and proceeded in to the failover cluster setup, which asks some for some basic information, the IP address of the primary and secondary servers and the virtual IP address to use as well as the root password for the servers.  All of this was straight forward and I entered it as requested.  Once setup, there is a test button to ensure everything is correct before you have to save the settings and I got the green light to save away.

And this is where my mistake came back to haunt me.  Still working from the new VM, I applied the configuration settings, expecting the replication to push the configuration from the primary node to the secondary node.  This is NOT what happened Sad smile.

Instead, the configuration from the new VM was pushed over to my original server, wiping out the SSL cert and all other settings I had on it.

The hardest part of reconfiguring the settings was the SSL cert, as I had not backed up the private key (again, my bad…) that is required to configure SSL cert to the server.

However, after a bit of work, and reconfiguration, I managed to get everything back to how it was before my ill fated attempt to configure clustering.  At which point I promptly backed up the VM Smile

Attempt number two went much smoother, working this time from my original OpenVPN AS node, setting up the failover clustering went smoothly.

The final steps were to reconfigure my router to point to the virtual IP address and update my internal DNS entry to point to the new virtual IP address as well.  I also created two new DNS entries, one for each of the cluster nodes, so that if I need to connect to an individual node I can do so easily.

A quick internal test from my notebook to the VPN proved to be functional and some quick experimentation with failing one cluster node or the other proved everything was up and going.  The next day, while offsite, provided conclusive evidence that everything was fully functional.

The Good:

  • OpenVPN is a well supported SSL VPN
  • Free
  • Reliable
  • Clustering was easy to setup
  • Low overhead

The not so bad/not so good:

  • It’s not clear that you need to setup clustering on the node you want to use the configuration from in the GUI
  • Clustering is limited to failover only, no load balancing

The Ugly:

  • Dumb system administrators that don’t backup before major configuration changes Winking smile
  • OpenVPN doesn’t backup it’s own configuration on the nodes when clustering is enabled, just in case…

One last thought I’ll include here, though it doesn’t relate to the failover clustering.  The first version of OpenVPN AS I installed was 1.3.4, which had the Windows VPN client included in it.  At some point (I believe it was 1.4, but I could be wrong) the OpenVPN Windows client was rewritten and looks much nicer, every version beyond 1.3.4 has been extremely unreliable for me, dropping connections all the time, failing to connect and in general, unusable.

As I noted above, I upgraded to 1.7 before configuring clustering and so I decided to once more give the new client a try.  The client has now been split in to two different clients, both of which seem to suffer the same kinds of problems, however not to nearly the degree of the 1.4~1.6 clients.

For me, they still are not as reliable as the 1.3 client and offer me no additional features to me and so I am sticking with the 1.3 client.