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.

 

Apps for Windows Phone 8

[sc:mobile-category ]Looking back over some of my previous articles I found a post with the first ten free applications I installed on WP7, a post with my Apps on Windows Phone 7.5, but nothing about Windows Phone 8, so now it’s time to correct that oversight 🙂

I’m not going to list games here or the bundled vendor apps, I’m sure you can find those yourself.

Some of these apps are hold overs from 7.5, but some are new, so here we go, in alphabetical order:

7digital

Many moons ago I used a music service in Canada from HMV, in a post I detailed how they dropped the service but the back-end provider was 7digital.  Well they provide a Windows Phone app which gets you access to your account and let’s you purchase music on the go.  A very serviceable application overall.

7Pass

On my desktop system I use KeePass Password Safe to store my various passwords and generate new passwords.  7Pass can read the same password database as KeePass which means I can always have a copy of my passwords with me on my phone.  The most complex part of this software is actually getting the password database on to the phone as MS has decided not to allow direct file access.  7Pass supports a couple of different options to transfer the database, including Dropbox, WebDAV, SkyDrive and a standard web server option.

Adobe Reader

I still have this installed, and I’ve even used it once or twice, but I don’t do all that much with PDF’s on my phone.  It’s a lot better than Microsoft’s PDF reader so it is a must have just in case.

AdoreSoftphone

This is a SIP based softphone, which doesn’t  yet seem to work with my SIP provider but it’s here so I can get updates and test with it.  The interface is kind of basic, but they’ve been adding features so I expect it will be a good option once they get a

Air Canada

Ok, this is a BAD application, it’s just a conversion of their web site and it’s done by Microsoft which has done a boat load of these over the last little while to drum up interest in the Store by some of the holdouts.  It’s still on my phone, but it will probably come off shortly.

Authenticator

Microsoft’s two factor authentication app works well, even if it the idea of two factor authentication is a bit arduous.

Battery Level for WP8

The first and still a great choice for battery status information, this provides the missing details that Microsoft left out (or buried deep in the settings pages).

Birthdays (by Jesper Larsen-Ledet)

This is a simple Live Tile that shows the next birthday from your contacts and also a complete list of birthdays.

Dev Center

This is Microsoft’s app for accessing your application statistics for Windows Phone Developers.  Handy but I have to admit I don’t use it all that often.  Usually I’m on the web page on my desktop for this information.

DuckDuckGo

The best alternative search engine around… period.

eBay

Access to your auctions and searches?  What more could you want.  Oh I know, how about access to my saved search that actually works?  It does in a pinch, but it could stand to use some more work on it.

FlightAware

Ok, I don’t really use this, but being able to see real-time flight information is just so cool 🙂

Flixster

Another app from the original list and I still use it when I’m checking movie times, a great app.

Fresh Paint

Microsoft’s doodling app is impressive, but it still can’t bring out the artist in my 🙁

GO Info

The GO Train here in Toronto is great for getting downtown and this app gives you access to the schedules and status of the service.

GolfLogix

This is a free golf course GPS app, I’ve been playing golf more often but I still don’t use this app.  Unfortunately it turns out that trying to use your phone and play golf at the same time doesn’t work very well so the phone usually just stays in my golf bag.

HERE Drive/Maps/Transit

Ok, I said no vendor apps, but these are available for any WP8 device so they don’t count 😉

They’re great, free and available now so they should be on every phone.

IMDb

It’s IMDb, how else do you look what movies someone you have never heard of before has been in?

INRIX Traffic

I do quite a bit of driving and INRIX is a great resource for traffic information, especially if you’re sitting on the highway not moving, its nice to know why 🙂

It is a bit of a data hog though, so I don’t use it as often as I could.

Instagram BETA

I’ve installed it, but never used it.  I guess if you like Instagram it would be more useful.

KAYAK

Kayak is great for comparing flights, but I find it doesn’t work as well as I expect.  I usually find better deals by going to the airlines sites directly.  Still a good resource to compare against.

Kik Messenger

One of the many instant messaging clients competing to replace SMS, Kik is installed but not used very often.  I only have one friend that uses it and they almost always SMS me anyway.

LinkedIn

Like all professions, I’m on LinkedIn and the Windows Phone app is nice.  I use it once in a while to see updates if I get notifications.

Live Tile Countdown

Pretty much what the title says, this app makes a live tile that counts down the number of days to an event.  Nice, easy to use and does what it says it does.

MPAtool

Microsoft REALLY wants you to buy an Xbox Music Pass, so much so they’ve crippled the artist and album graphics if you don’t have one.  This is a nice little tool that adds images for artists and albums that are in your collection, even without a Pass from Microsoft.

Netflix

Still installed, still don’t use it on my phone, but I do use Netflix.

OneNote

I finally broke down and stopped using my Exchange “Notes” folder for storing my quick snippets of information.  And I can’t say I’m sorry either.  OneNote is a great application worth checking out if you don’t use it already.

Opera Link for WP7

As I’ve noted before on this blog, I use Opera as my web browser and this gives me access to all my bookmarks etc on my phone.  It has had a few issues in the past with Opera changing the API or other issues, but the developer does eventually fix it when it breaks so no complaints from me.

PayPal

Another serviceable application for a major site, PayPal does what is needed and does so without fussing around about it.

PGA TOUR

I play golf, I watch golf, PGA Tour keeps me up to date when I can’t do either of the previous things 🙂

Poynt

Poynt has had a lot of press in Canada as it’s a Canadian company with over 6 million users, but I don’t find I use it very often, it stays on my phone for when I do need it.

PRESTO Card

A payment card system for GO Transit, this app let’s you see your balance quickly and easily.

REALTOR.ca

This used to be a full-blown application for WP7, but they yanked it from the store and instead this is another one of the “WebApps” from Microsoft.  Crap but still on my phone for the time being.

Remote PVR

This is an app from Bell, which gives me access to my ExpressVu PVR at home.  Visually it’s a little bit outdated, but it works.

Series Tracker

I keep looking for a good way to keep track of TV shows and this is the latest attempt.  I haven’t had much time to work with it but I’m hoping it will work well.

Settings Plus

Pinable tiles for some of the common settings you use, like WiFi and Bluetooth.  Microsoft should really get these built-in to the OS, but until then this works well.

SHOTLY Golf

Another golf app, see the notes on GolfLogix for more.

Simple Calendar

The live tile for Microsoft’s Calendar app doesn’t have many options, Simple Calendar fixes that and I have to admit it’s the primary use I have for the app.  I don’t very often go in to the app as the month view is too small to be useful.  They have just added a weekly view which may be better, but it is too broken at this point to use.

SkyDrive

Access to your SkyDrive files from Microsoft, it works but isn’t much use on a phone.

socl

Microsoft’s social network, I’ve installed it to play with, but that’s it.

The Weather Network

Another one of the long list of weather apps I’ve tried and not been happy with, but it’s better than most so I keep it around.

Tile Me!

An interesting little app, it can create an animated GIF that looks like the “Me” tile.

TripAdvisor

The popular website’s WP8 app.  It work, but I find the phone just isn’t the place I look for this kind of information on.  The screen is just too small.

Twitter

It’s there for when the built-in functionality of WP8 just isn’t enough.

Viber

Another IM client, another one I don’t use all that much.  But it is nice that it has a desktop version as well.

Vine

Like Instagram, I’ve installed it but never used it.

Vintage Ringtones

Want the classic phone ringers from the past?  This will get the job done.

Waze

This was just released and like INRIX, seems like it will be useful in the right situations.

WeatherMaster

My primary weather app, it has great details on the live tile.  I did move away from it for a little while as the forecasts in my area seem to go down in quality, but they’ve returned to their former goodness so I’m back with this app as well.

WhatsApp

The third and final of my IM clients, this is the one I use the most.

Wikipedia

Much like IMDb, this is just too useful not to have on the phone.

Windows Phone Insider

Microsoft’s original “Magazine” app, I look at it once in a while, but there’s seldom anything of interest.

WordPress

This is the official WordPress app so I can delete all those spam pingbacks on this blog ;).

Xbox Music/Video

Microsoft just released these but I doubt I’ll use them as they rely on Microsoft’s services that I don’t have.

Yellow Pages Canada

Another app from the original list it’s not used much, but useful when needed.

YouTube

Microsoft’s YouTube app has gone from useless to useful to useless again due to Google’s lack of support.  It’s still here and I hope one day it will become useful again.

YouTube HD

Since the official app is useless, this is a third-party app that fixes many of the issues.

WordPress Admin Menu Links

[sc:wordpress-category ]One of the things I really get annoyed at with the WordPress Admin menus, is that going to the toolbar and selecting one of the WordPress sites or even “Visit JumbleCat” will load that page in the current window instead of a new one.

Normally I would expect that kind of content to load up in a new browser window so I don’t leave my current page.  There’s no place in WordPress to control this, but with a little work it can be fixed:

  1. Install the “Add Admin JavaScript” from the plugin directory.
  2. Activate it.
  3. Go to “Settings”->”Admin JavaScript”.
  4. Under “Admin JavaScript (in footer)” add the following JavaScript:
jQuery('#wp-admin-bar-wporg > a.ab-item').attr("target","_blank");
jQuery('#wp-admin-bar-documentation > a.ab-item').attr("target","_blank");
jQuery('#wp-admin-bar-support-forums > a.ab-item').attr("target","_blank");
jQuery('#wp-admin-bar-feedback > a.ab-item').attr("target","_blank");
jQuery('#wp-admin-bar-site-name > a.ab-item').attr("target","_blank");
jQuery('#wp-admin-bar-view-site > a.ab-item').attr("target","_blank");

The jQuery selector breaks down like this:

  • “#wp-admin-bar-???” identifies which menu item to change.
  • ” > ” tells jQuery to look for a child item (the menu items are html “li”‘s, but the actual link is an “a” tag inside of the “li” so we need to change the child item, not the parent).
  • “a.ab-item” looks for any “a” tags with a class of “ab-item”.

Once we’ve selected the right “a” link, we add an attribute to it to for the target to be _blank.

The six items select are the 4 external links to WordPress in the WordPress menu as well as the site menu along with the visit site menu item.

If you’d instead like to make ANY link in the admin screen that are not links to another part of the admin pages to open in a new window, you can use the following code, again added to the  “Admin JavaScript (in footer)” section:

var root = (location.protocol + '//' + location.host + location.pathname).replace( /wp-admin.*/, "wp-admin");
jQuery('a').each( function() {
     if( this.href.indexOf( root ) == -1)
         {
         this.target = "_blank";
         }
 });

In this code:

  • The root var is built as “http://yoursite.com/wordpress/wp-admin/somefile.php” and then the “replace” strips off the “/somefile.php” so we’re left with a link to the admin pages only for your site.
  • The jQuery then selects every “a” tag on the page and executes the inline function .
  • The inline function first looks to see if the root string is in the href of the link, if not it adds the target as _blank.

Theoretically this could fail to catch an external link that is passing the admin page in the URL, but that seems unlikely to happen.

 

 

Adding Integrated Wireless Charging to my Nokia 925

[sc:hardware-category ]In my previous posts, I mentioned finding instructions on how to add wireless charging to the Nokia 925 as well as the fact I’d picked up a 925 on eBay, well now I finally have all the parts I need to put the two together!

I’ve updated the English translation I did of the previous PDF and you can find it here: Nokia Lumia 925 Integrated Induction V2.0 – English

It was easy enough to do, I only ran in to two small issues in the whole process:

  • Finding a suction cup small enough to get a tight seal on the phone cover
  • It looks like the design of the wireless charging cover from Nokia has changed slightly since the original instructions were done

Not a big deal overall and the charging seems to be working fine now.

Now that I’ve been using it for a few weeks, I can’t say how happy I am, there just aren’t words 😉

One small issue did come up that I didn’t notice while doing the work, the new design of the wireless charing shell added a small hump to the back of the phone, which over about two weeks created  hair-line crack in the back of the phone originating from one of the unused charging holes.  It has remained stable since it appeared so not a big deal, just something I’m watch in case it gets worse.