Sunday, September 30, 2012

Celebrating 30 Years of the ZX Spectrum

Well this is going to be a *slight* departure.

I have been asked to contribute to an article (see here) on the 30th Anniversary of the ZX Spectrum by a local paper and this triggered a trip down memory lane (not to mention a wasted lunchtime looking through the Spectrum archive at World of Spectrum).

Ironically I never actually owned a Spectrum having had parents who brought into the whole "BBC is educational, Spectrum and Commodore are for Games". I was lucky(?) in that I had a group of friends one of which had a Commodore 64 (let's call him "Ian"), the other started with a Spectrum 48 (let's call him "Matt"), then the 48+ which had a "proper keyboard", then went on to a 128+2 and finally stuck with the Spectrum right into it's death throes with the SAM Coupe* (yes, I know *technically* the QL should be in there somewhere but I don't think I ever met anyone who owned one of them!).

On the plus side this always meant that at least two of us could agree that the other's machine wasn't the best! The hours (and hours and hours) we wasted arguing over that one!

As you can imagine, 30 years ago, the games could be described at best as "primitive" by todays standard and while Ian, with his Commodore 64, was blessed with two joystick ports AND two joysticks to plug into them I was stuck with my BBC and a single joystick which worked so rarely that it was just quicker to use the keyboard and finally Matt had a special expansion plug in (Interface II?) at the back of his Spectrum for a couple of joysticks but it was a little loose so occasionally you would knock it and the entire machine would just spontaneously die. Fun times.

Nevertheless my fondest computer-related memories of that time feature some of the classic games on the Spectrum. Whilst the graphics were poor some of the games are absolute classics you could play for hours on. Here's some of the ones I can remember (in no particular order);

Cobra (Ocean Software Ltd)
A sideways scrolling shoot-em-up based (very very loosely!) on the Sylvester Stallone movie of the same name. This is one of the rare examples where the simplicity of the Spectrum graphics actually made for a more enjoyable game than the graphically superior version on the Commodore 64. Luckily this game is available on the World of Spectrum website (click here).


Twin Kingdom Valley (Bug-Byte)
Now this one is a real classic but I'm guessing it's not going to be to everyone's taste! It's a text (ok, there's a few graphics) adventure game. The reason I really liked this one is that the world is populated with Elves, A Giant, and an Innkeeper who were all your friends, and Gorillas, Dragons, Castle Guards, Trolls, Witches, Sand Lurkers, etc who definitely weren't.

Your aim was to collect all the treasure and leave it in your hut (pictured below) but the bit of the game I really enjoyed was helping the Elves and the Giant rid the world of all the "evil" people (you could arm them and they'd help you in a fight). Excellent game and, if memory serves (it may now) D, N, N, N, W, W, S will get you from the metal grate to the cliff edge - if only I'd had that kind of recall during my exams!

Again this title is available from World of Spectrum - click here.


Target Renegade (Imagine Software Ltd)
A successor to the incredibly popular Renegade but introducing multi-player. An absolutely fantastic beat-em-up game where you went through several levels defeating adversaries in order to get rid of the "end of level baddies".

The Spectrum keyboard was pretty small so as you can imagine it would become quick complicated for two people to hammer way on the keyboard at the same time - add in to that the game would actually multi-load (when you completed a level you'd need to wait 2-3 minutes to continue and when you died you had to rewind the tape!) and you'd think no-one would enjoy it but we literally spent entire weeks getting through it (which we did eventually!). Fantastic game!

Here's the link on World of Spectrum.


You might also want to try out the original Renegade here.

Bubble Bobble (Firebird Software Ltd)
A really nice arcade conversion that massively benefited from allowing two players to play simultaneously. You could bounce around popping monsters on this one for ages, sadly at higher levels it just became a complete nightmare to play so while we used to play this one for absolutely ages it's actually one of the few I've not been inclined to play again via an Emulator.

Still, great memories.


And it's available here on World of Spectrum.

And finally (otherwise I'll be here all night);

R-Type (Electric Dreams Software)
Possibly the best (well, with Salamander) shoot-em-up ever. You could pick up power-ups as you went along and there were end of level baddies. Does it get any better than that?!



Sadly while World of Spectrum has a page for this game (here) the makers have specifically denied them the right to distribute it. Still it's good to know that the game has been saved for posterity, even though until the Copyright formally expires I won't be able to access it!

Well that's it, just a simple pick of a few games from my youth. If you're interested in finding out more then I'd recommend browsing the World of Spectrum Archive, especially the Best Games page.

In 30 years I wonder what my kids kids will be playing?!

*- Whereas my progression from BBC directly to A3000 (an Acorn Archimedes) then to a Risc-PC before moving on to the more-familiar PC (and now a MAC). See? It's not just Jeremy Clarkson who can waffle on about old cars - computer geeks can do it too!

Saturday, September 29, 2012

Using iOS 6 Apple Maps "Report A Problem" Feature

As I'm sure you'll be aware Apple are experiencing a few problems with their brand new Apple Maps application for iOS 6 (see here for CEO Tim Cooks' public apology). One of the features of the new Maps application is a "Report A Problem" link, you can use this to report issues to Apple for them to fix - clearly they'll have a lot to do.

Here's how to report an issue;

  • First of all go to the location in Apple Maps which shows the problem you'd like to report;
  • Then click on the bottom-right "page" bit to see the settings;

  • Just above the "Print" button in *very* faint type (makes you wonder if they intended people to spot it doesn't it?!) there is a "Report a Problem" link. Click on this.

  • Now you pick the type of issue you want to report. Here's a tip; if you want your issue dealt with quickly (and that's a relative term!) don't select "My problem isn't listed" - I don't know what black hone that vanishes into but don't expect anyone to get back to you soon! For the sake of this example I'm going to pick "Location is missing" (as it is!);

  • At the top of the screen it says "Drag the pin to the correct location". Do that and then when you're done click "Next" at the top right;

  • Now you can enter as much details as you can for the item you're reporting as being missing. I'm reporting "Bar Hill Tesco" and I've picked the details of their website (I've even included the link so Apple can check it). Then click "Next";

  • Now, after you're spent all that time typing stuff in, it tells you that the map information and problem you've entered will be reported to Apple if you click "OK". You could just click "Cancel" if you want to have wasted your time.

Friday, September 28, 2012

Apple Maps Comes To Bar Hill!


As I'm sure you're aware Apple have updated their iOS devices (iPad, iPhone, iPod) with iOS 6 which replaces the existing Google Maps with *new* Apple Maps which includes Turn-By-Turn navigation as well as a 3D view.

Sadly the new Maps application is not quite up to the standard of Google Maps (in much the same way as an ant is not quite up to the height of a giraffe).

Looking at Bar Hill Tesco is a good example of where this has not quite worked ... The map at the right shows Tesco Car Park with access both to Gladeside and Viking Way (neither of which exists), and a surprising loop in the car park.

If nothing else pondering these anomalies with give the people trapped in the one-way system that the Petrol Station has suddenly turned into something to think about!

There are numerous other issues; "Long Stanton Road" as an example of a typo (should be "Longstanton Road"), and half the businesses are missing including Tesco, the Parish Council Officers, the Church, etc.

I have reported several of these, but fixing everything is going to be a *huge* job and is way beyond anything that Apple have planned - Google Maps after all didn't get anywhere near as good as it is now overnight! It's just a shame this half-finished product is being forced onto people in it's current state. 

So what should Apple do? (let's just pretend they are taking advice from random bloggers!) I've mentioned before in various blogs the open-source mapping information provided by www.openstreetmap.org seems to be a viable alternative. For example;

OpenStreetMap.org - Bar Hill, Cambridgeshire

I'd suggest to Apple that rather than trying to build their own mapping database - which will take years - or buying one of the not-as-good-as-Google mapping companies out there to get access to their data why not work with OpenStreetMap and provide some funding for the project and use open source mapping data? Give it all away free and people will help you build it.

Anyway, here's hoping they do something soon!

Monday, September 24, 2012

SSRS: Scheduling A Report With 2008R2 (In SharePoint Integrated Mode)

In an ideal world you'd go to a report, enter your parameters, run the report, and a few seconds later you'd have all your data in the format you need. Unfortunately whilst going to the report and entering the parameters are (usually!) easy, the "few seconds" can quickly stretch to "a few minutes" and beyond before you get your data - particularly with some of the more complex GL-based reports.

As most reporting is clyclical (month end, year end, financial year, monthly sales, weekly orders, etc) it's possible to predict the reports you'll need for a particular period and it's possible, using Reporting Services and SharePoint to scheduled the reports to run when you know you'll need them.

The first step is to go to your report;
Simple SSRS Reporting Showing GL Segments
At the top-left of the web page is a "Actions" drop down. Select this and choose the "Subscribe" option. If you don't have a subscribe option then you probably need to contact whoever administers your server to see why not; there really isn't any reason why users who run reports shouldn't be able to schedule them to run out-of-office hours.

When you select "Subscribe" you'll be directed to the following web page to select the options for the report;
SSRS Subscription Properties
This page allows you to choose how you want to receive the report. By email is probably the simplest way (and is the default). The available options are;
  • Email (default): You can choose to have a report sent to any email address (for example a distribution list) but you should already remember that only the person who sets up the Subscription will be able to edit it and if they leave and their Active Directory (AD) account is disabled the subscription will automatically stop
  • Windows File Share: Select this to choose to have the report sent to a Windows File Share. You can specify your username and password to grant access. Useful under certain circumstances, but I'd recommend switching to a ...
  • SharePoint Document Library: We like this one. Again it requires some setting up by your system administrator but once it's there then you get all the nice features of SharePoint (sharing, versioning, security, etc) without the permission problems of Windows File Shares. This is our preferred option for in-house reporting
  • Null Delivery Provider: Sometimes it's necessary just to run the report without worrying about the results (triggering caching automatically for example). If that's the case then this is the provider to select.
Once you've picked the "Delivery Extension" (how you want the report delivered) then the next steps are to expand on that by selecting the following;
  • Output Format/ Report Contents/ Render Format (Depends on Delivery Extension selected): Here you can select the format you want the report to be saved in. You can (in Sharepoint 2007 with SQL SSRS 2008R2) only select a single format which means if you want the report in multiple formats (for example PDF for archiving, and Excel for working with) you need to create multiple schedules (if you'd like to show Microsoft you'd like to see this changed you can vote for the item on Connect - see here)
  • Delivery Event: You can select either; a) When a report snapshot is created, b) On a shared schedule, or c) on a Custom Schedule. You need to decide when you want the report and whether it's important or not if it runs at the *exact* time specified or within a few minutes/ hours. If it absolutely has to run at a specific time then select Custom Schedule 
"Delivery Event" Subscription Options*
  • Parameters: Here you select the parameters for your report. Here you'll definitely need the help of the report writers who need to have written the report with scheduling in mind in order for it to work. For example if you have a report which has a Start and End Date then the default values need to be default to, for example, the start and end of last month so that when it's scheduled to run on the 1st of every month the user can just select "defaults" rather than having to hard-code values. With a bit of planning this can work really well (NOTE: The list of parameters includes *all* parameters for the report including ones developers have marked as Hidden - I've raised this as a bug with Microsoft click here)
Now that you've selected all the options click "OK" (at the top) to create the subscription. It won't run immediately but when the Delivery Event comes around it will try, remember to check back for errors!

*- you'll notice, if you squint really hard at the "Shared Schedule" option that we (OK, I) made a mistake when setting these up. The point of shared schedules should be to increase the flexibility of system administrators to juggle the jobs around but make sure they are still available when needed. "Monthly (1st) @ 7am)" isn't exactly flexible, what I should have created is "Monthly (1st) before 8:30" so I'd be able to move the reports around as and when.