Rating and Reviewing Apps and Services

[sc:internet-category ]Here’s a question for you… how often do you rate and review the apps and services you use?

I’m not talking about the big ones like Microsoft and Google, everyone know about those and if they want to use them.  I’m talking about the smaller ones.

Recently I’ve posted about the various WordPress plugins I’m using and they are all free and from the WordPress Plugin directory.  The plugin directory has rating and review built-in to it but I hadn’t gone through and done any reviews.

So I took some time and wrote each and every plugin I use a review and rated it.

After all it didn’t cost me anything more than a little bit of time.

Out of this process came a few questions:

  1. If I’m rating a plugin from 1 to 5 stars, what constitutes a 1 or a 5?
  2. Should you rate a plugin low ever?
  3. If a donation link is present should you take the next step for those plugins you use?

The rating is a hard question to answer, I don’t use plugin’s that don’t work and there’s enough plugins in the repository that I don’t use plugin’s that only do half the job.  So I came down to ignoring anything but a 1 and a 5.

The second question is harder to answer and I still don’t know if I like what I choose to do.  I didn’t rate any plugin as a 1.  Mostly because I was going through plugins that I use all the time and for it to rate a 1 would mean it basically didn’t work.

Perhaps in the future as I try new plugins I might rate them low, but I haven’t had that come up yet.

The third question is still an outstanding question for me.  I feel like the answer is yes, but I don’t make any money off of my blog though that really has no bearing on the question.  I suspect I’ll go back through the plugins I use and make some donations in the near future.

Along those lines there are a few plugins that I’ve donated code to so in that respect those plugins are taken care of 🙂

Net Nutrality and Anti-Competitive Behaviour

[sc:internet-category ]The last few years have seen a major change in the way we view networks and service providers around the globe.  Before the Internet became the commercial powerhouse it is today, BBS’s reigned as kings of online access.  In those bygone days, different serviced vied for prominence and one of the key factors was the modem speed they offered.

Even back then they competed for business on speed and reliability.  Competition worked well because the underlying transmission system (the traditional phone line) was the same for everyone and the service providers didn’t own it.  It had to be as phone providers are consider common carriers and they CAN NOT interfere with the communications.

Today we’ve gotten ourselves in to a real problem as our data networks have moved to transmission systems that are not classified as common carriers.  This combined with the underlying economic barriers to entry from new participants means we’ve provided the Internet service providers the perfect storm to act in an anti-competitive manner.

Business always try to maximize profits.  They do this by offering the least amount of service for the high cost they can get.  Competition on the other hand always tries to minimize profits but forcing business to offer more service for less cost.

And so we get to where we are today, in most markets there are two primary service providers, the traditional telephone company and the transitional cable company.  Neither really competing with each other but instead finding a happy mid ground and just matching each other step for step in the market.

They have managed to become the only two games in town because they piggybacked on their existing infrastructure to build out their data services and now the cost of a new entrant in to the market is too high to offer real competition.

When I moved to cable for the first time, my service was a fixed speed but unlimited usage.  It was what most people expect from a service like TV or Radio or their local telephone line.  You use it as much as you want for a fixed price.

Unlike telephone server, the internet really doesn’t have “long distance”.  But that hasn’t stop service providers from trying to bring that pricing model in to play.  The first step was bandwidth caps and bandwidth throttling.  Both primarily in an attempt to maximize profits, though there were short-term technical reasons as well.

Net Neutrality suddenly became a buzz word and an idea that many people rallied behind.  The idea being that a service provider shouldn’t discriminate against or alter  traffic for any reason.

And so the great “Net Neutrality” debate has been ongoing.  But it’s the same debate we’ve had before, just under a new name.

In the telcom space it’s the reason for the common carrier rules.

In the business space it’s the anti-competitive laws that have been enacted.

What it really comes down to is that we want all companies to have to compete for our business.  It’s the foundation of the free market idea.

When Rogers added bandwidth caps to my service they did so unilaterally.  At the same time Bell did.  I had NO choice about it.  Calling them didn’t help as they didn’t even offer an option of a service without a cap.

That’s a clear indication of a lack of competition.

In a competitive marketplace I would have had an option to go to another provider that supplied what I wanted.  I might have to pay more for it, but the option would have been there.

When we talk about net neutrality we really should be talking about anti-competitive practices.  This is the right discussion to have and for that there is a clear precedent set, regulation.

Different countries do it different ways, but they all regulate their telecom providers.  It makes perfect sense as the cost of the infrastructure to deliver service is just to great to build out multiple times.

It’s time to talk about how to regulate Internet service, either as a common carrier or some other way, but in a why they restricts the anti-competitive behaviour that all major service providers exhibit to one degree or another.

JumbleCat WordPress Plugins: Update 6

[sc:wordpress-category ]This is another post in an ongoing series of articles here at JumbleCat about the plugins I find useful for WordPress.

The first four were:

  1. Happy 1st Birthday JumbleCat! AKA WordPress Plugins!
  2. Total Backup for WordPress
  3. Some More WordPress Plugins
  4. Even More WordPress Plugins
  5. JumbleCat WordPress Plugins Update

It’s hasn’t been long but there have been a few changes worth mentioning.

Plugins Added:

Custom Windows Pinned Tiles

Plugin’s Description: With Custom Windows Pinned Tiles 2, you can set up your site to display beautiful live-updating tiles in a matter of seconds.

Windows 8 brought live tiles to Windows and websites can support them with a bit of HTML.  This plugin adds the required HTML and even supports using your RSS feed to update the status of the live tile on a recurring basis.

Simple Feed Stats

Plugin’s Description: Tracks feeds, displays subscriber counts, custom feed content, and much more.

It’s a little simple and doesn’t exclude robots from the stats, but it does provide some useful view of how many subscribers you have to your blog through RSS.

Simple Local Avatars

Plugin’s Description: Adds an avatar upload field to user profiles. Generates requested sizes on demand, just like Gravatar! Simple and lightweight.

I have been using the “User Avatar” plugin since the start of my blog and it’s a good plugin, however it hasn’t been updated for WordPress 3.8 and it was getting kind of annoying.  The issue is that it uses a floated “div” to display your profile picture in your profile page and with the new admin color scheme’s layout it obscured some of the color schemes.

Simple Local Avatars does everything that User Avatar did but uses the standard WordPress API to add a section to the profile page, avoiding any conflicts in the future as well.

WordPress phpinfo()

Plugin’s Description: This simple plugin adds an option to an adminstrator’s Tools menu which displays standard phpinfo() feedback details to the user.

I had been using a plugin to do this for a while but it added a top level menu item, which as it was only a once in a while thing was a little obtrusive.  This plugin adds it’s menu item under tools, which seems more logical.

Plugins Removed:

User Avatar

Plugin’s Description: Allows users to associate photos with their accounts by accessing their “Your Profile” page.

I removed this plugin and replaced it with Simple Local Avatars as per above.

Ozh’ Admin Drop Down Menu

Plugin’s Description: All admin links available in a neat horizontal drop down menu. Saves lots of screen real estate! For WordPress 3.5+

This has been a staple of my blogging life since I started with WordPress, the old menu system in pre 3.8 WordPress wasn’t very good and took up too much room.  However with 3.8 this plugin doesn’t quite work as it did.  The icons are missing and there doesn’t seem to be an update coming any time soon.

So while it surprised me, I found myself disabling it and finding the new WordPress admin screen much better than before and I didn’t miss it at all.

If your still interested in this kind of horizontal menu, you might want to check out “WP Top Navigation“, which look interesting but I’m not using at the moment.

SI CAPTCHA Anti-Spam

Plugin’s Description: Adds CAPTCHA anti-spam methods to WordPress forms for comments, registration, lost password, login, or all. This prevents spam from automated bots. WP, WPMU, and BuddyPress compatible.

This had been my go to plugin for avoiding spam user registrations, however the CAPTCHA is too simple and the bots have worked out how to get around it now.

Instead I’ve enabled re-CAPTCHA in Pie Register, which has gotten around a lot of the spam.  I also enabled email verification in Pie Register which has caught most of the remaining ones.

The Death of Facebook

[sc:internet-category ]Ah Facebook, you great waste of time you, can you survive?

At least for me the answer is no.  More specifically, I’ve disabled my account and intend to delete it shortly.

What it comes down to is that Facebook doesn’t provide me with any value and comes at heavy cost.

The people I was friends with on Facebook, I saw in real life all the time.  The Facebook posts they created were just a repetition of things I had or would have talked to them about anyway.

Likewise Facebook’s ever creeping advertising and data gathering was become untenable to me.  The auto play video ads were the last straw and so I closed my account.

Twitter is much more useful to me and doesn’t (yet) hoard all my data as a way of advertising stuff I don’t want to me.

Now obviously I’m not the target demographic of Facebook so I doubt they’re miss me, but the feeling is mutual so I guess we parted as friends 😉

Happy 3rd Birthday JumbleCat! AKA OpenVPN Port Sharing and Version 2.0

[sc:internet-category ]I’ve been using OpenVPN Access Server for quite a while, I set it up on port 8080 as I already had my Exchange server using port 443 on my router.  This wasn’t much of an issue as 8080 is pretty common and isn’t blocked very often.

However when I had to replace my DOCSIS cable modem recently I had to upgrade to the “wireless” router model and it used port 8080 as part of its administration interface.

Finding another common port that didn’t get blocked seemed like a challenge, so I decided to see if I could setup Apache as a reverse proxy in front of Exchange and OpenVPN.

Port Sharing

Turns out there is an even easier option.  OpenVPN supports a mode where it sits in front of another web server, any OpenVPN connections are handled by OpenVPN and everything else is just passed through to the web server.

This article, while short get’s to the point pretty quickly.

As I used a UCC SSL cert for my VPN/Web server I didn’t expect there to be any certificate issues with connections.

As I’m using the Access Server (AS) VM I didn’t want to mess around with the start scripts and config files, fortunately AS provides an option to add extra configuration lines through the web interface.  Simply go to “web admin->Advanced VPN->Additional OpenVPN Config Directives (Advanced)->Server Config Directives”, add the following line:

“port-share xxx.xxx.xxx.xxx 443”

This enables the port sharing mode and redirects the traffic to port 443 on the supplied IP address.  After restarting the services, connecting to the AS on port 443 brought up my web server instead of the AS, as expected.  One thing this does limit is that you can no longer access the AS web interface for downloading the client or profiles.  Not a big deal, but something to be aware of.

Another thing to be aware of, that isn’t document very well is that port sharing only works across UDP.  More to the point, you have to set AS to use TCP only, you cannot use the “both” setting or an error is generated during the service start-up and AS fails to run.

The next step was to connect to the VPN and test to make sure it still worked.  Using my laptop to connect from within my network failed, the connection would start to set up and then give a disconnect error.

Looking through the logs came up without much help, but I did notice the clock on the VPN servers was significantly out of sync (days of drift) so I reset them and tried again.  However still no connection.

Upgrading OpenVPN AS

My next thought was perhaps a bug in the version of OpenVPN I was using, I was a few versions behind with 1.8.3.  2.0.3 had been released a while ago so I decided to upgrade.

I had written a little upgrade script on the VPN servers which did the work for me but when I tried upgrading to 2.0.3 an error came back as the script could not find the 2.0.3 packages on the OpenVPN site.

Looking around turned up the problem pretty quickly, the AS VM I was using was based on Ubuntu 8, and in the version 2 release of AS, they dropped support for 8 and moved to 13.

To top it off, there is no upgrade path for the old AS to Ubuntu 13 so it means re-creating the AS VM’s from scratch.  This is not a huge deal and only took a few minutes, but I did run across one item that was an issue.

In the old AS, they provided a GUI interface for setting up the static IP address of the server, in Ubuntu 13 they didn’t both to bring this across and let you manually configure the interface by editing ‘/etc/networks/interfaces’.  The instructions are included on the AS download page but are a little miss leading.

Step three is:

Add the following lines using the template below: address 'ipAddr' netmask 'subnet' gateway 'gw' dns-nameservers 'dns1' 'dns2'

But that’s not quite true as it would lead you to believe that it is one line with all the options on it.  Instead you have to split each option on to its own line like so:

address 'ipAddr'
netmask 'subnet'
gateway 'gw'
dns-nameservers 'dns1' 'dns2'

Likewise, bring the interface down and then back up, does not work as documented.  You need to reboot the server to get it to work correctly.

I also changed the hostname, which they don’t document but is just a simple edit of /etc/hostname.

I then ported across my upgrade script which now looks like:

wget http://swupdate.openvpn.org/as/openvpn-as-$1-Ubuntu13.amd64.deb
dpkg -i openvpn-as-$1-Ubuntu13.amd64.deb
rm openvpn-as-$1-Ubuntu13.amd64.deb

Ran the apt-get to upgrade the OS and then upgraded to OpenVPN 2.0.3.

More Troubleshooting

After a reboot, same issue.  Connecting to the VPN failed with a disconnect each time.

Removing the port sharing option allowed the VPN to connect but of course didn’t pass through to the web server.

Trudging through the log files I found that OpenVPN was failing to detect the VPN connect and passing it through to my web server, which obvious would not recognize the connect.

My first though was that, since I have my OpenVPN setup in failover mode, that perhaps this was interfering with the port sharing.

I spun up another VM with AS and shutdown my current VPN servers and tried it as a single server instead.  No difference.

Searching the internet I found lots of people having issues with port sharing, but they had the opposite issue I did.  They’re VPN connections worked but pass through didn’t.

I have yet to find a solution to the problem and so I have instead configured OpenVPN to use port 943, the alternate HTTPS port which seems to be working fine.

Performance Tuning

Well almost fine.

The first time I connected remotely performance was terrible.  Dropped packets, connection drops, 1+ second ping times.

At first I though it might just be my connection at home or my current location, but when I took a look at the OpenVPN server at home, it was running very slowly as well.

When I upgraded to the new VM image for AS, I simply pulled the virtual disk and attached it to the existing VM’s I had on my server.  Turns out the memory requirement went up a little bit between the old and new AS.  I added some additional RAM to the VM’s, reboot and everything seemed much better.  The next day at my remove site performance was back to normal as well.

Summary

So what did I learn from this?

  1. Well, port sharing is complex, finicky and apparently doesn’t work.
  2. Upgrades from 1.x to 2.x aren’t simple with OpenVPN.
  3. When building new VM’s, start from scratch 😉

Overall OpenVPN 2 doesn’t really bring much new to the table but it’s good to get the upgrade done and over with.

My last thought about the port sharing is that perhaps it’s just broken in AS.  I may, if I get some free time, try building a Ubuntu VM and installing OpenVPN from the source code to see if I can figure out what’s wrong with it.

However as port 943 seems to be working fine and it does give me the added benefit of having access to the web interface for OpenVPN, I don’t think I’ll change it at this point.