Windows 8.1: Not Using Secure Boot? Don’t Worry We’ll Let You Know

If, like myself, you’ve upgraded to Windows 8.1 you might find yourself greeted by this watermark on your desktop:

Also just to make sure you get the message it is also displayed on your start menu:

So you might be wondering why is this message displayed? Well it turns out Windows considers having Secure Boot disabled as “not configured correctly”. If you have a motherboard that supports Secure Boot but you’ve not got it enabled then Windows will constantly remind you of it.

For your average user who will only ever boot into Windows 8.1 then, sure, Secure Boot might be useful. However, if you actually plan on booting into another OS that does not support UEFI, Secure Boot, or is not signed by the almighty Microsoft then you’re going to want Secure Boot disabled.

Even worse, if you’ve built your PC yourself you might find some of your hardware does not actually support UEFI or Secure Boot. For example, the firmware on even very recent graphics cards might not be compatible resulting in failure to boot with Secure Boot enabled. In some cases you’ll be able to contact the manufacturer who’ll be able to provide you with an update but if you are using a older card or the manfuacturer has not got around to releasing an update, you are out of luck.

What does Microsoft have to say on this issue? Well as a matter of fact they have a support page dedicated to this issue. Great, you might think. Until you actually read it:

Oh, wait. Their only solution is to turn on secure boot. I also posted on their community support forums about the issue and got a reply from one of their support engineers who very helpfully ignored my question and told me to enable secure boot.

I can’t see any reason why this message should be displayed so prominently. Remember, the same method of displaying a watermark is also done if you are not running a genuine copy of Windows, so that’s the level of in your face message we are dealing with. If a message is needed, at all, then why not display it on the System “View Basic Information about your computer” control panel item.

Edit: It was suggested that a better place might be the action center. I’d agree with this, it seems like a much better idea than displaying it in the System control panel item. This way you’d still be alerted of the fact secure boot is disabled, but you’d also be able to dismiss it.

I’ve not actually found any method to remove the watermark. At this stage all I can hope for is an update from Microsoft that removes this, or at least gives the option to remove it.


ZF2: Configuring Doctrine to Use Redis for Caching

This is a quick addon to the previous post about setting up Redis with ZF2.

If you’re using Doctrine 2 you may also wish to use Redis for caching. With Doctrine 2 there are three types of caching: Metadata, Query and Result. Metadata is from either the annotations on your entities or seperate configuration files and defines your entities columns, table names, relationships, etc. The query cache stores the actual SQL queries compiled from DQL (either directly, or from the query builder.) Finally, the result cache is the actual results from your queries. Note, that Doctrine stores the results prior to hydration so it won’t serialise your entities and just store those directly.

We will configure Doctrine to use Redis for all three types of cache, although you can specify different types of caching for each type if you prefer.

Read on →

ZF2 and Redis: A Quickstart Guide

ZF2 recently added support for Redis as a cache adapter. However, there is no documentation mentioning the new adapter so if you’ve never used ZF2’s cache before or Redis with PHP then you might struggle to set it up.

ZF2 supports many cache adapters so why would you want to go with Redis?

Firstly, unlike a PHP caching extension such as APC or XCache, Redis is a seperate process that does not even need to be on the same machine as your web server. This means you can run many web servers and have them all connect to a central Redis server (or cluster) allowing them to all share the same cache. Also if you are planning on caching a sizeable amount of data then by placing Redis on a seperate server you can ensure that Redis has the memory it needs.

There is also support for file and DB based caching in ZF2. File based caching is obviously slower than having a cache that is stored in memory but additionally it’s access is limited to the local server. Multiple web servers will need to have their own cache and in some cloud based environments you may not even have access to a local file system. DB based caching may be okay if we’re trying to cache data that is computational expensive to generate but most of the time the reason we are caching is to reduce load on the database so storing the cache in the database is not excally a real solution to that problem.

Now, on to the fun stuff of actually getting this up and running…

Read on →