Blog Archives

How To build a Raspberry Pi powered Twitter Display

Use a Raspberry Pi to develop a stand alone Twitter appliance that can be used to display tweets in a public environment.
hashtag #5thLetchworth

Background

Every two years, Letchworth and Baldock District Scouts holds its Arts and Crafts competition. This year, it was decided to hold it in a pop-up shop in Letchworth town centre. The theme was Adventure.

The Scouts in my troop, 5th Letchworth, decided it would be a good idea to have a multi-media display; comprising a physical hashtag and a display of tweets containing that hashtag. The hashtag was, of course, #5thLetchworth.

The Scouts constructed the physical hashtag and decorated it with pictures, poems and other items that conveyed the notion of adventure. It was my task to create the twitter display.

System design

The obvious base for the display was a Raspberry Pi! of which I have several. This would be connected to a large screen TV via the built in HDMI interface, and to the Internet via my own Mi-Fi.

The Pi already has XWindows installed, so that would be used to run the Chromium browser. Chromium would be set to display a feed from www.twitterfall.com.

Setting up

Configuring the Pi

As the basis of the system, I chose to stick to the stock Raspbian distribution as it has almost everything I needed. The only changes I needed to make were to set it to startup in headless mode and allow remote VNC connections (because there wouldn’t be a keyboard or mouse connected when the system was in use). I also had to set it to auto-start Chromium.

Setting the Pi to startup in headless mode

To do this, you need to install the x11vnc package.

  1. Logon as the default user pi
  2. Open a terminal session and download the x11vnc package:

    sudo apt-get update
    sudo apt-get install x11vnc

  3. Set a password for when you attach via your VNC client.
    x11vnc -storepasswd

  4. Create a startup configuration for x11vnc. From your home directory:

    cd .config
    mkdir autostart
    cd autostart

  5. Now use your favourite editor to create the file x11vnc.desktop with the following contents:

    [Desktop Entry]
    Type=Application
    Name=X11VNC
    Exec=x11vnc -forever -shared -usepw -display :0 -ultrafilexfer
    StartupNotify=false
    Terminal=False
    Hidden=False

  6. Now reboot the Pi
  7. After it has rebooted, you should be able to use your favourite VNC client to connect to the IP address of the Pi on port 5900 using the password set it step 3.

Installing and autostarting Chromium

  1. Open another terminal session and install chromium.
    sudo install chromium
    cd .config/autostart
  2. Create the file chromium.desktop with the following contents:
    [Desktop Entry]
    Type=Application
    Name=chromium
    Exec=chromium
    StartupNotify=false
    Terminal=False
    Hidden=False
  3. If you now reboot again, the chromium browser should open automatically

Setting Chromium to open www.twitterfall.com automatically

For this to work, you need to authenticate to a twitter account and decide in advance what you wish to display. In my case I wanted to display the output from a specific Twitter List.

Complete the following in the chromium browser:

  1. Open the URL www.twitterfall.com
  2. Authenticate to the Twitter account.
  3. Set Twitterfall to display the appropriate content
  4. Copy the full URL from the chromium address bar; including the /?oauth suffix
  5. Now open a terminal session and edit the file ~/.config/autostart/chromium.desktop and change the Exec= line to be
    Exec=chromium twitterfall.com/?oauth_token=whatever
  6. Save and close and then reboot to test.

Starting Chromium in kiosk mode

The last step is to set Chromium to start in Full Screen mode

  1. Edit ~/.config/autostart/chromium.desktop again and change the Exec= line again to be:
    Exec=chromium -kiosk twitterfall.com/?oauth_token=whatever
  2. Reboot again and it should all work.

One last thing

You will have noticed that Twitterfall cannot be configured to launch in Presentation Mode. This is why you need the remote VNC connection.

I was going to have my MacBook Air with me when I installed this so I simply connected remotely and clicked on the Presentation Mode button in Twitterfall. If anybody knows how to avoid needing to do this, I’d love to hear from them.

The finished article

Display of tweets from #5thLetchworth

Connecting to the Mi-Fi

The topic of How To connect a Raspberry Pi to a 3G network is covered elsewhere.

Thumbs up for Microsoft Support

Microsoft Support persists to get through and close the call

Office 365 Logo

As readers of my Business Continuity UK blog will know, I place a premium on the quality of service I receive from those who supply me with products and services in my business life. My business depends on me having reliable access to high quality products backed up by outstanding service. I hope all companies do the same.

That’s why I use Apple products for my personal productivity tools: laptop, tablet and phone. It was also one of the factors that persuaded me to move from using Google Apps for Business to Microsoft Office 365. Google, in my opinion, is becoming too insular in its device support. Unless you are running an Android powered device, you are rapidly becoming a second class denizen of GoogleWorld.

Admittedly, Microsoft used to be the same as far as Mac support was concerned, but no longer.

Anyway, I’m very happy with the functionality I get from Office 365, and I’m also in the process of moving my personal email account to Outlook.com. A recent experience with Microsoft Support has confirmed the wisdom of my choice.

Whilst support for the Mac is pretty good on Office 365, I did have a reason to raise a Support Ticket via their online portal. It was a minor matter relating to billing, but I found that I couldn’t complete the Service Request. For some reason, each time I selected an option in the drop down menus, the screen refreshed and I had to start again. After trying a couple of times, I gave up and called them instead. Note: I called them: you can’t do that with Google as far as I know; at least not at my subscription level.

Now the first point is that I received outstanding service when I called in with my billing concern. However, whilst I was on the call, I mentioned that I had experienced a problem completing an online service request. The attendant offered to report it for me, so I said yes.

Very soon after, I was contacted by email with details of the new request, asking for more details.
The next day, I received a missed call on my phone and another email to apologise for not getting through but proposing another time to call me.

Mainly down to inefficiency on my part, I missed several attempts to call me. The point is that Microsoft Support didn’t give up. Each time I missed the call, I received another email with a proposed new time. Eventually, we did speak and progressed the issue.

It’s this dedication to getting the problem resolved and closing the call that impressed me. Other organisations would have given up after the first or second failed call, but not Microsoft. That matters to me and it reinforces my decision to move to Office 365.

Oh, and if you’re reading this, Mark, thank you for your perseverance.

How To connect a Raspberry Pi to a 3G network

Connect a Raspberry Pi to a Huawei 3G Modem to allow Internet access

Motivation

As part of the project to create a stand-alone Twitter Appliance, I needed to connect a Raspberry Pi to a 3G network.

System Design

The design is simple: An existing 3G modem is connected to the Raspberry via a USB connection. I already own a Huawei E5756s mobile broadband modem connected to Three UK, and as this also has a USB connection, it was the obvious one to use for this.

Installing the modem

Installing the modem required that the Raspberry Pi recognise the modem as such. Unfortunately, out of the box, the E5756 is detected as a hard disk by Raspbian. This is because the modem has a hidden disk partition that contains the Windows driver.

  1. Plug the modem into one of the USB ports.
  2. In a terminal session, run the command

    # lsusb

With a bit of luck, you’ll see something like:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard

The key line is the last, showing that Raspbian has recognised the modem. Unfortunately, you may well see:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 12d1:14fe Huawei Technologies Co., Ltd.  

This indicates that Raspbian sees the Huawei device as a disk drive. To get around this, we need to installthe usb-modeswitch package, but we need to do things in a specific order for this to work (or at least I did anyway).

Open a terminal prompt and, with the modem unplugged:

  1. install the usb-modeswitch package

    # sudo apt-get install usb-modeswitch

  2. After this completes, reboot the Pi and then log in again and open a terminal session.

  3. Plug the modem in, leave it for a second or two for it to be recognised and then do

    # lsusb

  4. Hopefully, the output will now indicate the the modem has been recognised. Display the network interface list:

    # ifconfig -a

Hopefully, you will see:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:04:64:df 
          inet addr:172.29.12.204  Bcast:172.29.12.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1191 errors:0 dropped:0 overruns:0 frame:0
          TX packets:633 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:383489 (374.5 KiB)  TX bytes:100065 (97.7 KiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wwan0     Link encap:Ethernet  HWaddr 0c:5b:8f:27:9a:64 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5237 (5.1 KiB)  TX bytes:0 (0.0 B)

Good news, we have a new interface. To get this to acquire an IP address, we need to edit the file /etc/network/interfaces and add the lines:

allow-hotplug wwan0  
iface wwan0 inet dhcp

If you now reboot, you should see that the new interface has been initialised and configured:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:04:64:df 
          inet addr:172.29.12.204  Bcast:172.29.12.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1191 errors:0 dropped:0 overruns:0 frame:0
          TX packets:633 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:383489 (374.5 KiB)  TX bytes:100065 (97.7 KiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wwan0     Link encap:Ethernet  HWaddr 0c:5b:8f:27:9a:64 
              inet addr:192.168.1.101  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5237 (5.1 KiB)  TX bytes:0 (0.0 B)

Hoorah, the modem is connected and working.

After this bit of jiggery-pockery, the modem should continue to be recognised if it is connected at boot time.

MAMP error #2006 – MySQL server has gone away

I’ve been trying to debug an error on one of the websites I developed a while back. The site in question is www.lbdscouts.org.uk the website for Letchworth & Baldock District Scouts and it was built using Concrete5.

To allow me to insert debug code I built a replica of the site on my Mac using MAMP. However, when I tried to import the database I got the following error

#2006 – MySQL server has gone away

Obviously the size of the import file was too big. The solution was simple:

Create a file called “my.cnf” file in /Applications/MAMP/conf containing the following code:

[mysqld]

max_allowed_packet = 100M

Restart the MAMP servers and the import should proceed to completion.

SaaS, PaaS, IaaS: what do they mean for business people?

Cumuus cloud

Steve is the MD of a small (25 people) recruitment business. Most of the time, they operate from a single office, but they often want to work from home, or at a client’s office. They get all their email and document management from a single server running Microsoft’s Small Business Server product and they have a mix of PCs, laptops, smartphones and tablets running Microsoft Office and a variety of mobile apps. Getting remote access to email is easy, but access to documents is not so easy and causes their IT support person a bit of a headache sometimes.

Steve’s server is reaching its capacity and needs either upgrading or replacing. He’s heard of Cloud Computing, but doesn’t really understand what the term means, or whether he should be interested.

This post is for all the Steve’s out there.

Introduction

Cloud Computing, or The Cloud as it is often referred to, is a fairly new approach to delivering computing services. In this post I hope to burn off some of the fog that surrounds the Cloud (sorry about the mixed metaphor) and highlight why every business, small or large, should be looking closely at moving some or all of their computing services into the Cloud. It won’t be for everybody, but for some it’s the ideal move.

I’ll start off by defining some of the terms that get bandied about so that they make more sense. A lot of gobbledygook is spoken about Cloud Computing and much of it only serves to obscure what is a fairly simple concept. Hopefully, by the end of this post you’ll be able to see this.

I’ll then move on to highlight the opportunities that businesses can gain by exploiting Cloud Computing. I’ll also discuss some of the potential pitfalls that could ensnare the unwary.

By the end of this post, I hope that you will have a better understanding of what Cloud Computing is and how your business might benefit from taking a closer look.

Future posts will go into greater detail on this topic. To be sure you don’t miss them, you can subscribe to receive posts by email when they are published.

Terminology

Let’s start by looking at some of the terms that are used to describe the various pieces that make up Cloud Computing.

Cloud Computing

The term Cloud Computing itself is an umbrella term for all the hosted services that are delivered over the Internet. By hosted, I mean that the software that delivers the service (email, payroll, word processing, etc) is running on somebody else’s computer rather than your own. The term “Cloud” is commonly thought to refer to the use of a cloud as the symbol for the Internet on computer network diagrams.

Infrastructure as a Service (IaaS)

Infrastructure as a Service is a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. Techtarget

IaaS is the most basic form of service that can be provided. Rather than a business having its own servers, and the attendant costs, IaaS allows a business to get rid of its locally installed servers and instead use so-called “Virtual Machines” in somebody else’s computer room. The end result is the same: the users get the service they require but the business doesn’t need the space, power or hardware investment. Instead, a larger computer, owned and supported by somebody else, is simulating your computer, along with many others.

Software as a Service (SaaS)

Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. Techtarget

Broadly speaking, this means using a Cloud Service Provider‘s infrastructure and software to receive a service rather than delivering it yourself on your own hardware. A very broad range of services are available: including email, document management, inventory control, financial accounts. In fact, just about everything you can deliver locally using standard packaged software can also be delivered using SaaS.

SaaS providers fall into two groups: those who deliver straight analogues of existing desktop applications, and those who have developed new ways of delivering the same services. Examples of the former are Microsoft with it’s Office 365 SaaS offering, and Intuit with its quickbooks Online service. Examples of the latter are Google with Google Apps for Business, and Freshbooks with its online financial accounting service.

Platform as a Service (PaaS)

Platform as a Service (PaaS) is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones. Techtarget

PaaS builds on IaaS by providing a pre-defined operating system, storage and development tools to allow a customer to develop new applications to run on the provider’s infrastructure. Where you need to run a custom piece of software, you can choose to redevelop it to run on a provider’s PaaS infrastructure.

A word of caution however: there are currently no standards for PaaS tools and code, so you run the risk of being locked into a single vendor.

What can be outsourced to the cloud?

In principle at least, just about all IT services can be outsourced to the Cloud. Certainly all the personal and group productivity tools (word processing, spreadsheets, presentations, document management and sharing, email and calendaring) are available as SaaS offerings. Also, many line of business services like financial accounts, payroll, CRM and ERP are available.

Your own custom applications can be delivered on an IaaS platform, or re-developed to take advantage of a provider’s PaaS platform.

You may recall when telephone companies delivered a service known as CENTREX. With this, the company PBX was provided as a virtualised service by the Public Telecomm provider. This was a form of Cloud Computing. CENTREX style services are still available, using VOIP, from Telecomm Service Providers.

The usual exclusion from virtualised services are applications that require tight coupling with external equipment: production control and instrumentation are the prime examples. Just about everything else can be hosted.

What’s all the fuss about?

The world of work is changing

The Internet is now beginning to have a profound effect on the way business is transacted. Everything is happening faster; the workforce is becoming more mobile; and product life cycles are becoming shorter.

This is having an impact on IT. Technology refresh cycles are having to become shorter as an increasing proportion of work is being computerised and applications are becoming more capable and complex. This is resulting in a need for more computing resources: CPU power, memory and data storage.

Also, the number of computing devices in use is rising dramatically. It used to be just PCs and servers. Now, IT departments need to deal with laptops, tablets and smartphones. The result is increased complexity and support costs.

Despite all this, the pressure for businesses to evolve is unrelenting. Failure to respond to these pressures risks a business becoming less competitive and losing market share. And all at a time when budgets are being cut and capital investment is a no-no.

There are barriers to change that The Cloud can overcome

  • The cost of change

For organisations that buy their own servers and software, the cost of change can be high. There may also be space, power and cooling constraints that limit the amount of change that can be accommodated.

  • The depreciated value of assets

Where servers and software are purchased, they will probably be classified as fixed assets and depreciated according to pre-defined rules. Where the depreciation period is greater than the useful lifetime of the asset, an organisation can be left with a rump of useless assets on their balance sheet.

How does Cloud Computing change this?

It’s a fundamentally different way of delivering business services

A different cost model

John Paul Getty had the dictum,

If it appreciates, buy it. If it depreciates, lease it.

I can look back to a time when we all used to rent our television sets. This was done because the capital cost of a new TV was high and the technology was evolving rapidly. Businesses used to do the same with computer hardware. For some time now though, businesses have tended to purchase PCs and servers, and the software that runs on them. SaaS offers the opportunity to move back to a leasing-style model where services are rented, and the software and server costs are avoided altogether.

Cloud Computing charges are usually levied on a per user per month basis. There’s no capital hit and no need to pay for software maintenance or upgrades. It’s a pure pay as you go model.

There will be startup charges as you migrate your existing information from local storage to cloud storage, but after that there’s only the monthly charge. This allows expenditure to be moved from capital budgets to revenue budgets with a resultant benefit to the Balance Sheet.

IaaS offers the potential to go further

  • Virtualised Desktops

Desktop Virtualisation moves IaaS out of the computer room and on to the desktop. Rather than having a complex, and expensive, PC on their desk, the user has a simple computer running Thin Client software that connects over the network to a Virtual PC running in the Cloud Service Provider’s data centre. This is not a new concept: services like Citrix have been around for years. The difference is that the complexity surrounding the delivery of virtualised desktops has been removed from the user’s domain.

Thin client computers are cheaper to buy or lease; need less space and power; and allow for longer technology refresh cycles (removing the problem of useless assets on the balance sheet). They also result in lower support costs as there is less to go wrong and it is viable to hold a local spare that can be deployed, so that the problem client can be repaired off-line or sent back to the supplier.

  • Potential to use other devices as thin clients

An added benefit of using a simple thin client to access a virtual desktop is that access can be from anywhere. Thin client software can run on just about anything: a client’s computer, from home, from an Internet cafe.

  • Security is increased

Using a virtual desktop is more secure as well. Company data never leaves the security perimeter; only screen images.

  • Pay per minute for occasionally used services

Many organisations have computer services that are only used occasionally. Payroll is a good example. Rather than having the computer that runs the payroll switched on all the time, IaaS enables the payroll application to be installed on a virtual machine that is only switched on once a month.

Cloud Computing is an enabler for different ways of working

  • IT is now a utility service that can be scaled up and down as demand changes.

There’s no need to predict in advance what the computing needs are going to be for the next n years.

  • Users can access from anywhere

For SaaS, all they need is a device that supports a browser for them to be productive.

  • Mobile device support is improved

Because access is often through a browser, some functionality can be delivered to even a limited mobile device. Some services also deliver specific functionality to some mobile devices

  • More flexible workforce

All of the above allows a business to be a lot more flexible with their workforce. No longer does the employee engagement process need to imply the purchase of a PC, laptop or whatever and the associated software licenses. All they need is a browser enabled device. IT costs are directly proportional to the size of the workforce.

Business resilience is improved

Cloud computing can have a significant impact on the resilience of a business.

  • Somebody else is being paid to protect your data

No longer does the business need to set up and keep tabs on a backup regime. The service provider does it automatically.

  • Service availability approaches 100%

All Cloud Services are delivered from high availability computing centres with redundant power and cooling; multiple Internet access circuits; and high levels of physical security. The effect is to improve service availability to levels beyond what a typical business can deliver using its own resources. You won’t get 100%, but you will get a higher level of service than if you did it yourself.

  • No dependence on availability of your premises or staff

By using services provided from the provider’s facilities, there is no dependence on your own computing facilities or your own support staff. No longer are your business’s IT services at risk from localised threats. Yes, they are still at risk from threats to the service provider’s facilities, but many are duplicated (at least).

Potentially, no need to retrain users

There’s not even necessarily a need to retrain your users. By moving to a SaaS that uses the same applications, your users need not be aware that their services are being delivered from outside of your organisation.

Potential downsides of moving to The Cloud

Unfortunately, it’s not all rosy; at least not for everybody. There are implications that can be problematic.

Increased dependence on Internet access

The most obvious one is that your business is now dependent on the availability and performance of its Internet connection(s).
This may be a problem for rural areas, where speeds can be limited and availability is variable.

Also, your Internet access now needs to be resilient. No longer is acceptable to have just a single Internet access line with no backup. Ideally, you need at least two, diversely routed, access lines to different ISPs. At the very least, you need to have something like ISDN or 3G backup. Whether the extra costs outweigh the benefits will influence your decision to move.

Vendor lock in

There is the chance that you can become locked in to a specific supplier; particularly with PaaS but also with any SaaS that requires you to retrain users or convert data.

Compliance

The nature of most Cloud Service Providers (CSP) is that their services are provided internationally. If your business is subject to any form of compliance regime; you need to check where it is acceptable to store the data.
If applicable, you need to ensure that the CSP has data centres located within the EU.

You need to be sure the vendor will stick around

Moving to the Cloud should not be done on a whim. It needs to be a strategic decision. You need to be sure that the CSP, and the SaaS, PaaS and IaaS services will be around for as long as you are likely to need them. If they disappear, so do your IT services.

Integration problems between systems

In some cases, businesses have tightly integrated their business processes into their existing IT systems; taking advantage of integration points to deliver custom services. You need to be sure that these integration points exist in the Cloud Services.

Summary

  • The Cloud is here to stay
  • The Cloud provides opportunities for significant changes to the way businesses operate
  • Expenditure can be transferred from capital to revenue budgets
  • IT services can be delivered more flexibly and cheaper without always requiring user retraining

Next Actions

I’ll be expanding on some of these topics, so watch out for further posts. To be sure you don’t miss anything, you can subscribe to receive future postings.

If you are interested in moving your IT services to the cloud, contact me to discuss your needs and see how I can help.

Lastly, if anything is not clear in the above, or you have a different view, please let me know via the comments. I look forward to hearing from you.

How to keep guests off your home Wi-Fi

It may be useful to let guests access the Internet from your house, but control what they do

Super Hub

This post was prompted by a conversation originated by Robert Craven on Google+ relating to how guests expect to have Wi-Fi access when they visit. Leaving aside the social rules, here’s how you can enable this without endangering your own security.

Caveat

The detail only applies if you are a Virgin Media customer with a Super Hub, but the principle probably applies to other models of routers.

The issue

Like lots of people, not necessarily only the techies amongst us, I have a number of devices that connect to the Internet via a Wi-Fi network in my home. Examples include: several PCs and Macs, a Raspberry Pi based media player, a NAS file server, several smartphones, the TV, my audio system, etc. The default security for these devices is “shields down”: i.e. they assume they are operating in a secure and benign environment.

Whilst I can be reasonable sure that any device I connect to the network will play by the rules, has good anti-virus and effective anti-malware protection; I cannot assume the same for devices brought in by guests.

Luckily, there is a solution

The Guest Wi-Fi network

I am a Virgin Media customer and have a Super Hub as my router and Wi-Fi access point. By default, this has a single wireless network enabled that is secured using a reasonably strong WPA-2 password. This is the network to which all our devices connect.

However, the Super Hub, which is actually a customised Netgear router, can also be configured to support a separate Guest Wi-Fi network that only has Internet access: i.e. it cannot see or access the devices connected to the main Wi-Fi network. This network can be configured as follows:

Enabling the Guest Network

Step 1 – access the Super Hub

On most networks, where the Super Hub is also the DNS server, you can access the Super Hub simply by typing

http://192.168.0.1

into the browser address bar. If you’ve changed the network settings, then I assume you know the address of the Super Hub.

You should see Screenshot 1

Screenshot 1

Screenshot 1


Login as admin If you haven’t logged in before and changed the password, it should be changeme.

I strongly suggest you change this to something unique and stronger immediately

You should now see Screenshot 2

Screenshot 2

Screenshot 2

Access the advanced settings

Click on Advanced Settings and you should see Screenshot 3

Screenshot 3

Screenshot 3

Setup the Guest Wireless Network

As you can see, there is the potential for three wireless networks on the Super Hub. The Primary network is the one configured by Virgin, and should not be changed unless you really know what you are doing

We are going to configure SSID3 (as I don’t want you to see what I’ve configured on SSID2, my own guest Wi-Fi)

Click on Guest Network (SSID3) and you should see Screenshot 4

Screenshot 4

Screenshot 4

If you click on Enable you will be able to enter your own SSID (see Screenshot 5)

Screenshot 5

Screenshot 5


I recommend selecting “WPA Auto” for Security Mode. You can then enter a passphrase.

Scroll down to the bottom and click Apply and you’re done.

If you scan for Wireless Networks, you should now see your new Guest Wi-Fi.

I recommend that you don’t connect to it from your own devices. Depending on the SSID you choose for the new network and how your own devices choose between multiple networks, you may get odd results when you try to access other devices on your own network.

Site back up – after a fashion

OK, after the hiatus whilst I tried to get to the bottom of the problem, the site’s is back up. I reverted to the earlier Silesia theme while I played with the Headway 2 theme using the Theme Test Drive plugin.

I couldn’t get to the bottom of the problem so I replaced the Headway theme with one from another site; which is broadly similar. Unfortunately, it seems that something deeper was broken with Headway because this approach didn’t work.

To cut a long story short, I deleted Headway 2 and installed fresh Headway 3 Base. Again, I customised this in Theme Test Drive so that the live site wasn’t affected by me building a new theme in the background.

Headway 3 is significantly different to Headway 2, so it took a bit longer. It’s not right, but it’s close to where it was: enough to go live anyway.

I’ll tweek it over the next few days.

Updated – Playlists of podcasts on IOS 7 is possible

You too can listen to a playlist of podcasts on IOS 7; it just needs a bit of sneakiness

listening-to-ios-7-podcast

Background

In a previous post on “IOS 7 is designed to cause car crashes”, I highlighted that IOS 7 has split podcasts from music for some, as yet unknown, reason, and how I thought this was a road safety issue. I also indicated that I had found a way around this limitation, but I didn’t give the details. This post remedies this.

Update 19th October 2013

After using this approach for a few days I realised that there was a problem. Because I had reclassified the downloaded podcasts as media type Music rather than Podcast iTunes, in its bread-dead stupidity, dowloaded the podcasts again, which then meant multiple copies of the same podcast. Doh!

So, I had to amend the procedure a bit. The playlists stay the same but there is an extra step.

Caveat

This approach only works if you are continuing to sync music and podcasts to your iDevice via iTunes. If you have chosen to take advantage of over-the-air syncing, as provided by IOS 7, then this will not work for you. If you know otherwise, let me know in the comments

How to listen to podcasts via a playlist on IOS 7

The approach involves setting up two Smart Playlists in iTunes and then doing a bit of manual processing.

In essence, what we are going to do is to:

  • use playlist 1 to highlight new podcasts that have been downloaded by iTunes;
  • change their media type from “podcast” to “music”; and then;
  • use playlist 2 to play those converted podcasts on the iDevice. Playlist 2 is sync’d to the iDevice using selective syncing in iTunes.

Create Playlist 1

Screenshot 1 is an shot from iTunes running on my Macbook Air. It shows two smart playlists: “_1. Podcasts unconv to Music”; and “_2. Podcasts unplayed”

Screenshot 1

Screenshot 1

The contents of “_1. Podcasts unconv to Music” is shown in Screenshot 2.

Screenshot 2

Screenshot 2

As you can see, it selects all tracks where the media type is “podcast”; the track exists on the local machine; and it has never been played. The reason for the second clause is to prevent displaying episodes you have chosen not to download.

Process the episodes shown by playlist 1

Screenshot 3 shows an extract from this playlist on my MBA.

Screenshot 3

Screenshot 3

To convert them:

  • Select all the tracks
  • Copy the tracks to preserve them in their original state (Edit/Copy or the appropriate shortcut)
  • Elect to display Info for the selected tracks
  • On the first Tab, check that the genre is set to “podcast” (See Screenshot 4)
  • On the last tab, you will see that Media Type is set to “Podcast” (See Screenshot 5)
  • Change this to “Music” as per Screenshot 6 and click “OK”
Screenshot 4

Screenshot 4

Screenshot 5

Screenshot 5

Screenshot 6

Screenshot 6

All the tracks should disappear from the list.

Now (extra step)

  • Paste the originally selected tracks back into the view
  • Keeping them selected right-click and “Mark as played” so that they disappear again.

It is this last bit that prevents iTunes downloading the podcasts again.

You now have a a number of new music tracks that need to be sync’d to the iDevice. For this we need another playlist

Create Playlist 2

Screenshot 7 shows the contents of “_2.Podcasts unplayed” (Note this is different from that originally setup)

Playlist 2 _Podcasts Unplayed

Screenshot 7 – playlist _Podcasts Unplayed

It selects all music tracks of genre “podcast” which have never been played.

An extract is shown in Screenshot 8. Note that the list is sorted by “Date Added”. It is this which causes them to be played oldest first on the iDevice.

Screenshot 8

Screenshot 8

Sync the playlist to the iDevice

The last step is to ensure that this second playlist, along with whatever you wish to sync, appears on the iDevice.

Screenshot 9 shows the Music Sync tab for my iPhone 4S. I have elected to download only a subset of tracks using a set of smart playlists which I have set up over time. Note that “_2. Podcasts unplayed” appears on the screen and is selected. Note also that “_1. Podcasts unconv to music” doesn’t even appear: proof that iTunes no longer thinks of podcasts as music.

Screenshot 9

Screenshot 9

Screenshot 10 shows that I no longer sync podcasts to my iPhone: there’s no point.

Screenshot 10

Screenshot 10

Conclusion

Finding that IOS 7 had divorced podcasts and music was a major source of annoyance. However, with these simple measure I have managed to restore equilibrium. After having made these changes, I spent over eight hours driving over Friday and Saturday and was able to simply kick off the podcast playlist and ignore the iPhone thereafter, other than when I stopped of course. Result!

Automatic software updates can seriously damage your health

Yellow nosed cotton rat

In this post, I’ll tell you the tale of how a software update nearly caused me serious damage, and why. I’ll also show you why you probably shouldn’t be one of Pavlov’s creatures and accept updates to mobile apps automatically.

Evernote is a great product

Since I first found it some years ago (I first registered back in 2008), Evernote has been an integral part of my daily workflow. I use it for just about everything related to the capture, generation and distribution of text.

I use Evernote to capture multi-media notes on multiple devices and and keep them in sync. I maintain a complex hierarchy of notebooks for all sorts of purposes. I have separate notebooks for each client and each project I’m working on.

I also have more notebooks for specific workflows such as writing blog posts. This one started as a collection of notes, before morphing into a Markdown document that can be uploaded to my WordPress blog.

I also maintain a complex hierarchy of Tags and make extensive use of smart searches. All in all, Evernote is one of my core productivity tools. All told, I’ve got thousands of notes in dozens of notebooks.

Evernote’s update policy

Being one of the new generation of Internet software companies, Evernote updates its products on a frequent but irregular basis. This never used to worry me. It does now.

The Problem

Evernote recently made a major change to the Mac client

As far as I was aware, there was no warning that this was going to happen. There was a “A new version of Evernote is available” alert, and yes it did give details of the changes, but I get loads of them, and anyway, who has time to read that stuff?

Again, as far as I am aware, there was no opportunity to evaluate the new release before installing it. No beta. So, my Pavlovian reflexes kicked in and I installed the update. I instantly regretted it.

The new UI was radically different in a number of areas and my carefully constructed workflows were totally disrupted. It pulverised my productivity.

Unfortunately, this happened at a moment when I was particularly busy and just didn’t have the time, or the inclination, to learn a new UI.

Luckily, I was able to revert to the earlier version. The Mac is very easy in that respect. Rename the newly installed Application and drag the old one out of the Trash Can. Peasy.

Changes also made to iPad version

Now came another shock. At some point, the iPad version had been updated as well. I hadn’t used this for a while, so I’m not sure when it happened.
Unfortunately, there is (effectively) no potential to revert to a previous version on the iPad. You could do a device restore, but that’s OTT.

Luckily, the changes were not quite so dramatic and I was able to live with them.

Then the Penny dropped

The mobile “Apps” world is different

All this opened my eyes to a previously hidden consequence of using mobile apps: the user has lost control of the software upgrade process. Yes, I know you have to explicitly update apps from iTunes, but there are so many updates each week that it’s impossible to vet them all before applying them. You just have to trust the developer.

Software update and release processes have changed fundamentally. I’ll cover this in more detail in another blog but essentially, the old mantra of alpha releases, beta releases, community evaluation and then explicit upgrade; has changed.

Be more circumspect

I’ve been taught a lesson, and in this case it was not too painful. The learning points are:

  • Don’t upgrade Apps automatically
  • Watch for user community feedback before committing
    • i.e. don’t be an early adopter if your business depends on it

It’s a restatement of a previous mantra “never install release the .0 of a newly updated software product: wait for .0.1 or a service pack” The problem is that you are now no longer always able to predict when the next .0 is coming out.

Summary

  • Treat updates to mobile apps with caution
  • If the app is critical, don’t upgrade automatically

Next Step

Like I said, this change to software release processes could expose a business to additional risk.

So, take a close look at your mobile app inventory and consider whether you should be blindly hitting the “Update” button.

Oh, and why not let me know if you’ve had a bad experience in this area. I promise I’ll be sympathetic.

Update September 2013

Since writing this post last December, I’ve now successfully migrated to the latest version of Evernote. I had a couple of days downtime and took the plunge. Now that I’ve got used to the changed UI, I like it. However, that doesn’t diminish the need to evaluate changes before committing to them.

Picture by By Roger W. Barbour [Public domain], via Wikimedia Commons

Should lawyers use Dropbox to share documents with clients?

Legal services professional should not use Dropbox to share documents with clients because of the lack of access controls.

Process flow

I won’t bother to introduce Dropbox. You’d need to have been living under a stone not to have heard about it by now. Suffice to say that it is probably the most popular Cloud Service for sharing documents between computers.

What I want to discuss is the suitability of Dropbox for one specific use case: sharing documents with clients. This applies to any professional, but I think is of particular applicability to anybody in a regulated industry.

Dropbox and the Legal Services industry

Much has been written about the general use of Dropbox and whether it can be used in the legal services industry and maintain compliance. In general, the jury is still out. A good analysis (from a US perspective) can be found on securityblawg.com. This concentrates on whether Dropbox can be used without jeopardising the tenets of Attorney-Client Privilege. A contrary view can be found in Snippets.

Sharing documents with clients

In this use case, one or other party places a document in a Dropbox folder that has been shared with the other party(s). All participants can now see the document and, crucially, can amend it.

This is the major flaw with Dropbox in a shared environment: It has no access controls. As the Dropbox website itself says:

Any member of the folder can add, delete, or edit files within that folder.
Source: Dropbox

Access Controls

Anybody operating in a corporate, shared, environment will be familiar with access controls on files. The owner of the file or folder can define the access rights of people and groups of people. Some have No Access, some have Read access only and some have Read/Write access. Some may be able to delete a document, others may not.

These are the basic requirements that have to be in place so that one can avoid the circumstances where one person (inadvertently) deletes or corrupts a document belonging to another person; possibly without even realising they did it.

A further requirement in most regulated environments is to be able to maintain an audit trail of who did what and when.

Dropbox supports none of these mechanisms.

The danger of using Dropbox

So, what could be the consequences of using Dropbox to share legally important documents like briefs, patent applications, arguments etc?

Supposing a client chose to share a proposed patent application with an agent using Dropbox. This is likely to be a Word document or something similar. Given that Dropbox has no access controls, there is nothing to catch the occasion when the agent inadvertently makes a change to the document and saves it back.

  • What if that change subtly altered the intent and meaning of the document?
  • What if the change meant that the application failed?

It’s not hard to think of similar situations in other fields where the detail of a document is of crucial importance.

In Summary

In other posts, I’ll discuss ways in which documents can be shared securely and the need to control access and maintain an immutable audit trial can be met. In the meantime, think very carefully before you use Dropbox to share that document with somebody outside of your organisation.