My Media Centre Overhaul

Since installing my HD card, live TV (HD channels) has never really worked. After a period of time the sound would begin to stutter and eventually disappear altogether. Stopping and restarting the channel would solve it, but only for a while.

I’ve looked for solutions before, such as increasing the size of the buffer pool (assuming it was when the buffer was full and it needed to start overwriting that the problem occurred). Nothing fixed it, so recently I decided on a complete rebuild, switching to Windows 8 at the same time.

Continue reading…

Disappearing Menus on Archive Pages in WordPress

Having recently been building a new site using WordPress, which utilised the handy custom post type functionality, I came across a couple of problems when building my theme. I’m posting the solutions here in case they prove useful.

Getting Custom Post Types to Appears in the Archives

You can use a custom page to display an archive of you custom post types, but I just wanted a single template (it’s a simple enough site). The problem is, only regular content types are included by default, so I used the code from CSS-Tricks:

function namespace_add_custom_types( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
  $query->set( 'post_type', array(
   'post', 'your-custom-post-type-here'
  return $query;
add_filter( 'pre_get_posts', 'namespace_add_custom_types' );

That all worked lovely (modified to my data, obviously), but then I stumbled across a problem on the archive pages: my menu was disappearing. The Menu function is another I’m a fan of, due to the ability it provides to control your navigation, yet still access it via the control panel. Continue reading…

The Changing Landscape of Printing Costs

I wrote some tips a while back on buying a printer. The basic lesson was that for volume printing you wanted a laser printer and, if printing a fair amount, spend more on the hardware initially so you get the option for high capacity toner.

We’ve all seen the stories of inkjet printers that cost almost nothing, but soon seem less of a bargain when you come to buy new ink cartridges, which can cost more than the printer itself. The same is usually true for low-end laser printers.

The Changing Inkjet Market

Inkjet ink makes the price of crude oil look paltry (be very thankful you don’t use it to fill your tank), it’s expensive even compared to vintage Champagne. Added to that, a typical cartridge will only cover around 300 pages, and that’s without the repeated cleaning printers perform if you don’t print often enough.

There’s the old gotcha of tri-colour cartridges too, where only one colour needs to run out before you’re forced to replace the whole thing.

There are ways to drop the cost, whether that be aftermarket/re-manufactured cartridges, syringe refills or external tanks. Looking for printers that have separate colour cartridges and offer high capacity versions can also save you a lot too.

I’ve long shied away from recommending inkjets, but having spent a lot of time researching printers recently, I’m starting to change my view.

At the bottom end of the price bracket are printers that offer high costs per page (and for mono printing I’d class that as any over 1p per page), but many of the printer manufacturers are starting to fight back against the lowering costs of laser printers with improved ink prices and higher page counts per cartridge.

Separate colours are becoming a bit more standard and high capacity, which used to mean 500 pages instead of 300, can now mean several thousand pages, which pushes the cost per copy on a mono page to below 1p. Print speeds are up too, nearing laser rates. Continue reading…

Review of the Nexus 7

I was lucky enough to receive a Nexus 7 as a Christmas present, so having had it for a few months I thought it worth a quick write-up.

Nexus 7

I wrote a while ago that I didn’t think 7″ tablets were worth it, and for a while I wasn’t interested in them. I owned an iPad in any case. I did start to find I wanted to look things up while in a different room to my computer or the iPad and so having an extra tablet would be useful.

The improvements in tablets of that factor and the cost helped sway my desire. Then it came down to a choice of which one. The iPad Mini had not long been announced, the Kindle HD was coming to UK shores and there were offerings from B&N and Samsung as well as others.

I wasn’t interested in a cut-down Android experience, which ruled many of them out (the thought of rooting them didn’t appeal) and hence I hinted on my desire for the Nexus, as it came with an unfettered version of the latest release. Continue reading…

Lessons Learned Going Offline with HTML5

I recently built a simple web-based CRM tool only to run into a problem: my users didn’t have internet access all the time, so couldn’t reach it when on the road. Primary use was going to be on phones and tablets, so I could have built a native app, but with both Android and iOS devices to support it would have meant learning two new coding environments or a framework which could publish to both.

Having played with some of the features in HTML5 I was aware it had the ability to work offline, storing data locally. So I did a bit of research and began knocking something together. I thought I’d outline some of the lessons I learned on the way.

Giving credit where it’s due, I leant heavily on Alex Gibson’s example, you can find his code on Github.

Making a web page available offline

To make a file available offline, you need to create a cache manifest. Some of the older tutorials I found name it with a .manifest file type (e.g. offline.manifest, cache.manifest) but this didn’t work for me, you need to name it with a .appcache file extension (e.g. offline.appcache).

In there you need to reference all the files and resources you want available offline, and you can also set which files should never be cached as well as what to do if someone tries to access a page which is not available.

To make it easier, I created a completely separate file (offline.html) to do everything I wanted when there was no internet access, using Ajax, in one page.

I did add support to my .htaccess for a cache-manifest content type, but it worked fine before I had done that. Continue reading…