How bad are my hips?

As part of my hip problems, I had an ant/post x-ray taken a couple of months ago – I should have had a lateral too, but the radiologist flat-out refused to do so, despite a clear request from my GP. Never mind, they got done eventually, and I snapped this pic when I saw the consultant at Royal Derby.

SLightly buggered hips...

Long story short, my hips are “buggered” (technical term) and I’m on the waiting list for two new titanium, ceramic on ceramic hip replacements. Which is nice.


Oblivion, 9/10

Just got back from seeing Oblivion, starring Tom Cruise, Olga Kurylenko, et al. I’ve seen written that it heralds the start of a new age of cinema sci-fi, and being somewhat of a cinema sci-fi buff, I have to agree.

The films starts by getting the viewer up to speed by Tom Cruise’s character Jack Harper (not Reacher). A long time ago, Earth was invaded by aliens, they were nuked and the war was won, but at the expense of the planet. Harper’s mission is to look after drones which in turn look after huge hydro-reactors that generate power for the remaining humans on Titan. He’s aided in this by his partner Victoria, who communicates with him and a mahoosive orbiting satellite called the Tet(rahedron), who are basically mission control.

Harper, who lives and dreams among the clouds, flies around in a *really* cool craft and repairs drones that have crashed. Well, not really crashed, more like shot down, by some of the remaining aliens called Skavs. They seem to be fairly intelligent, as they are taking the drones apart for their own reasons. Early in the film, Harper has a run-in with some Skavs, and that when we are introduced to the drones proper. Basically, they’re just giant balls of death, making mincemeat out of the Skavs and doing a fine job of protecting Harper.

They don’t do such a good job of protecting the hydro-reactors however, and after one gets destroyed in a (very large) explosion and some humans turn up unexpectedly, the film really gets going and that’s all I’m going to say on the plot.

I found the acting, unsurprisingly, to be top-notch. A lot of people put Tom Cruise down (ha ha), but he does this role very well, he seems to be all over the place at the moment. The rest of the cast are also excellent, especially Andrea Riseborough in the role of Victoria. Olga Kurylenko also does very well, despite being a smaller character initially. The film packs a bit of an emotional punch as well, almost to Silent Running levels ;-)

But good god, the design of the film is incredible. Earth looks ruined, but in a way not seen before. It is truly desolate, with only some recognisable features left (half the Pentagon, Lady Liberty’s torch, etc). Juxtaposing this is the achingly cool sci-fi tech. It looks advanced, but believably so, i.e. there’s no magic sci-fi thingy to help our hero out. The flying craft holds a myriad of devices to help Harper in his job, and even a fold-out motorbike – but again, it’s realistically done. The drones look fantastic, Harper’s house in the clouds looks like something Frank LLoyd Wright would design if he was alive in 2077, it’s all just stunning.

I was going to link to a featurette about the look of the film, but it really is worth going into it blind, and just enjoy the spectacle. The score is also fantastic, will probably end up buying it.

All in all, a very worthy 9/10 for Oblivion. To explain why it’s not 10/10, my reasons (referencing other sci-fi films) may lead to deductions of spoilers, and I wouldn’t want to do that. It’s a crackers of a film, and you’d be mad to miss it. It deserves to be seen on the big screen, but not necessarily IMAX big…


Blog Off / press freedom

Although I am not a news blog by any stretch of the imagination, I do enjoy being able to post my opinions on the news on here and on Twitter. The recent mish-mash of press regulation put forward at 2am when no representatives of journalism were present is a serious attack on the UK’s long-standing press freedoms.

A free press is essential, to hold the government of the day to account, to expose shady goings-on (e.g. Nick Boles telling property developers the planning laws will be liberalised, MP’s expenses, etc.), to report on politicians meeting on Russian oligarchs’ yachts, etc. It is the measure of developed, civilised, first-world country, and the coalition government’s restriction of it (even a little bit of it) is extremely wrong.

As Old Holborn said, it only took 24 hours for Max Mosley to call for web content to be prohibited, merely 24 hours after the Leveson cobble was voted on. What a Nazi… ;)

Fraser Nelson of The Spectator (and others) have said they won’t sign up to the new body, exposing themselves to “exemplary” (punitive?) fines if found guilty by a kangaroo court, er, the regulator. With this in mind, I’ve signed the Blog Off petition, and encourage you do the same:

Keep the UK’s press free!


Windows 8 App Store Development, Day 2

Right, following on from Day 1, the next lesson was to Manage app lifecycle and state. Apps are a little bit different to good old Windows Forms (a la Visual Basic 4, up to XAML apps) and ASP.Net web sites: your app can be suspended on the device (Surface, phone, etc.) when the user switches away from it or the device enters a lower power state. For bonus points, your suspended app can be terminated at any time if the device deems it necessary.

Coming back from suspension isn’t so bad (as many a premiership football player will tell you), as Windows lets you know it’s suspending the app. However, you get no warning about termination so saving state (e.g. what’s in use by the application) needs to be done on suspension. As per the article, there are two different types of data that can be used to hold state, app data and session data.

From the lesson: “App data is persistent across sessions and must always be accessible to the user”. This could be viewed as settings (username, favourite colour, birth date) but also as items displayed in controls on the app’s “frame”. Session data “is temporary data that is relevant to the user’s current session in your app”, and the session ends when the user closes the app, logs off or reboots the computer.

When it comes to saving the app data, it is advised to “save important app data incrementally throughout the life of your app”. I’m not sure if I agree with the use incrementally, because what they’re saying here is save your changes to the app data when they happen. Since using the Android OS, I’ve noticed a lack of “OK” and “Apply” buttons for settings, because the changes are applied as soon as they are made, e.g. checking a checkbox. The lesson details how to save the contents of a textbox on the TextChanged event, which seems a bit of overkill to me as it would save it down each keystroke (I believe).

Saving app data is done to an ApplicationDataContainer; the lesson uses a type of one called RoamingSettings which ensures the data saved in it is available to the same user across multiple machines. You can use the LocalSettings ApplicationDataContainer to save machine-specific settings. Basically, when the application data changes, update the value stored in the ApplicationDataContainer, and when your app comes back to life, restore it from the same container, after checking for its presence.

Saving session data is a little more involved, as it reacts to the Application.Suspending event in the main App.xaml.cs class. However, because Lesson 1 made me use a Basic Page template, a particularly helpful class called SuspensionManager is added to the project in the Common folder. This takes lots of grunt work out of saving the navigation state, session state, etc. and the lesson tells you where to stick it in various files, and how to use it. Suffice to say, it’s a bit of a doddle (I’m writing too much detail from the lesson, instead of my dealings with the lesson!).

It’s worth noting that the output from the ‘Say Hello’ button goes to a label, e.g. “Hello Mike”. This content is actually saved into session state on suspension so that it can be re-displayed when the app is brought back. So what? Sooooo, you need to keep track of what is displayed to the user and make sure it’s re-displayed, or at least gets refreshed (e.g. a news ticker).

Restoring the app and session data is basically done in reverse, with some app data (navigation, for instance) being restored via the SuspensionManager.RestoreAsync method, but only if the app was previously terminated – smart thinking ;) Then, for the rest of the relevant app and session data, it’s pulled from the RoamingSettings ApplicationDataContainer and the pageState thingy respectively, after checking for data presence.

There’s a nice piece at the end of the lesson about how to simulate a suspend and shutdown so the suspension code will fire / be debuggable.

So, what did I learn? Save app data often, as there’s no longer a “Save” / “OK” / “Apply” button. Session data, maybe all the crappy output data, also needs saving and re-displaying. However, the SuspensionManager class makes this very easy, and there’s the goodness that is the RoamingSettings ApplicationDataContainer class for app data – I think interesting times lie ahead :-) The next lesson is on Navigation, Layout and Views, stay tuned.


Windows 8 App Store development, Day er…

OK, my Windows 8 development is on hold at the moment, as I have to make some alterations to one of my sites (oooo, get me).

It’s Rose Robinson Bridal Wear, since you asked ;-)


Windows 8 App Store development, Day 1

After kicking around an idea for an application on Android, a friend of mine (ta James) decided that I should write one for the Windows 8 Store. It would be a re-purposing of an old Windows Forms app I wrote donkey’s years ago, and it would force me to learn something new. And if someone buys it, so much the better ;)

Unsurprisingly, Microsoft provide a lot of information on how to develop a Windows 8 Store app, but I’m sure I’ll be Googling for information or going to Stack Overflow for some answers before long.

That said, I’m keeping it simple to start with, and that means working through the tutorials, which I arrived at in this fashion: I went to the Windows Store app ‘Start Here’ page, and then downloaded the free tools, namely Visual Studio 2012 Express and Blend for Visual Studio. On launching VS 2012 Express, I was prompted to get a temporary developer license which expires in 30 days, then you have to pay for a license at a cost of $49 for an individual and $99 for a company – more on that later as I progress.

I went to the Try it out page, where I was informed I could develop in either JavaScript with HTML/CSS, C# / Visual Basic / C++ with XAML, or C++ with DirectX. I’ve chosen to take the C# with XAML route as my app will port (a bit) easier, but I do have to get to grips with XAML, but I’ve been doing some Silverlight development recently, so it shouldn’t be too bad. The page I arrived at was Create your first Windows Store app using C# or Visual Basic, and then I started on the obligatory Hello, World tutorial.

I got started, and then interrupted by tea-making duites, 2 Broke Girls (the TV show, not actual broke girls), The Big Bang Theory and chatting. I’m just finishing up this blog post and then may do some more :-)

Update Ok, that’s the first tutorial done. It handled adding in a header, a text box and button, adding an event to the button to display a response, and some basic styling via XAML. Not bad for a start, and the next tutorial is Manage app lifecycle and state, so that should be interesting – I believe that it deals with suspending your app in case Windows 8 sends it to sleep, restoring values when the app is waked up, etc. Should be good :-)


A Good Day To Die Hard trailer

Finally, a good-looking Die Hard (4.0 was ok, tho’):

A hat-tip to First Showing :)


Remembering Sgt Jonathan Kups, or KupsJon

The number of troops who have been killed in Afghanistan increased by one yesterday, and today he was named as Sgt. Jonathan Eric Kups, which was a terrible shock as I had known him some years ago.

I met Jon when I joined the Hyundai Coupé Club and we had a meet-up. His good nature and (dry) sense of humour were immediately apparent, and it was clear from the start he was a top bloke. He owned a modified Hyundai Coupé (as most of us did), but this one was turbocharged and frankly, went like poop off a shovel – I should know, I was a passenger in it once :-)

Although Jon wasn’t a big guy, it was clear he was a fitness fanatic and had a calm, competent manner about him that gave him a “don’t mess” aura. He was very scared of spiders though :-)

It came as no surprise to find out he was an engineering type, as he could pretty much fix about anything. That said, the last time I saw him, he was removing a seized brake pad with a hammer.

Although I hadn’t seen Jon for years, I still remember him well, and my condolences go to his family. Very sad day, RIP Jon.


The beach at Tsilivi, Zakynthos

We’ve recently returned from a fantastic week in Tsilivi, Zakynthos, staying at the excellent Lesante Hotel and Spa (highly recommended). It was a great holiday, much needed, but more on that in another post:

Using the Microsoft Image Composite Editor, I stitched together a panorama of the beach, shown below:

Click for a much larger version (4479 x 720 pixels), and you’ll probably have to click again to view it full-size in your browser :-)


Back to blogging

After the Tom Daley troll abuse which saw a 17 year-old subjected to vile abuse on Twitter (not Tom Daley, the silly kid who stupidly insulted him in the first place and was then thrown to the mob), I was disheartened by what Twitter had become.

Watching the excellent documentary The Century Of The Self (well, the first episode, anyway), there was a lot about mob mentality, the “if you’re not with us, you’re against us” groupthink. This was very evident with the Tom Daley troll twitterfest, where a stupid statement by a silly kid led to some horrible comments, which were then echoed, retweeted, echoed again and just escalated.

So, although I would be leaving some interesting people behind, I would not miss the idiots that were sometimes retweeted by them.

Also, I find that I was spending a lot of time on Twitter, and was constantly seeking new Tweets – a form of addiction, perhaps. After watching a personal productivity video by Scott Hanselman (complete dude), he advocated stopping the pleasure pill (the instant hit of the new) and really figure out what’s important to you. He also pointed out that tweets, unless favourited, fall off the timeline after a couple of weeks, whereas blog posts are (almost) forever.

So, back to blogging :-)


My journey to work on public transport

This is a response to the tweet “a car is a privilege and not a right. If you can’t afford it, walk or cycle!” by Mike Horswill on driving to work vs. public transport. Mike (not me) is suggesting an increase of 20p a litre on fuel, and to “plough that back in rail fare subsidies/infrastructure”. For the sake of this blog post, I will assume infrastructure includes public transport. If it doesn’t, don’t bother reading any more ;)

My journey to work takes me 20 – 25 minutes by car, a distance of about 10 miles. Incidentally, no I won’t cycle, as there are no shower facilities at work. I’m expected to wear a suit, and don’t fancy stinking up the place.

My journey to work by public transport takes 1hr 35 minutes (one bus, one tram), at a cost of about £10. For that price, I could make seven trips to work in my car. I do not fancy wasting two hours of day commuting, time is precious.

So, shorter journey time, less money, car wins.

I fully agree with Mike’s sentiment about having a car is a privilege and not a right. However, car drivers are being demonised and targeted unfairly with tax. As for his “future Britain” comment, commuting by bicycle / ox / horse sounds more like the past; these are modern times. It would be nice to cycle to work, and I have done so in the past where possible, but it’s not viable now.


The Raid review, 10/10

Even though it’s a not on general release yet, through following The Raid UK on Twitter, I was alerted to an advance screening of the film for Showcase Cinema Insiders. Having seen the trailers on YouTube and a few special features, and having heard of the film from State-side conventions, I blew off Sunday evening with the family and booked my ticket.

Written and directed by Gareth Evans, The plot is as much as it needs to be: a twenty-strong team of Indonesian riot police converge on a 30-storey tower block to take down a brutal (aren’t they all?) crime lord. The team is a mixture of battle-weary cops, fresh meat, hot-heads, and the lead of the film, Rama, played by Iko Uwais, star of Evans’ earlier film Merantau, which I’ll be checking out shortly. Rama is shown as a devout Muslim, a father-to-be and someone who loves early morning sit-ups, bag work and chin-ups, just like me. Kind of.

So, a short van-ride later (I think, the cinema ballsed-up the projection and cut off the subtitles, so I had to go inform them), they arrive at the tower, hook up with the raid leader and proceed. The spotters are taken care of, and the team start moving up floor by floor, encountering no resistance.

Well, until they do, in the form of an alarm given by young lad. It’s an actual alarm, with a foreboding drone, which is nothing compared to the chilling, monotone, passionless voice of Tama the crime lord, who informs the residents of the block that whoever helps to clear the “infestation” can live there rent free. As you would imagine, the inhabitants of the tower block aren’t exactly nice people (save a couple), so within a few minutes, all hell breaks loose.

From here on in, I don’t want to give too much away. Suffice to say, most of the team get cut down very early on, leaving a few main players. As the bullets run out, more, er, creative ways have to be found to dispatch of enemies, including a novel use of a fridge. In fact, in a very visual film, the sound direction of the explosion is done very well, with the high-pitch whine that signifies you’ve suffered hearing loss. The weapons sound very punchy too.

So, as the team lessen in number to guns, machetes, knives and axes, the core of the team have to fight their way out. Without giving too much away, there is another plot point (or two) that add to the film to keep it moving along. That said, the action direction being what it is, I would have happily watched them fight their way out anyway. Gareth Evans must have a lot of films in his library, as there are many influences. A stand-out one is a character called Mad Dog, played by Yayan Ruhian, a clear nod to John Woo’s Hard Boiled. He gets to take out Jaka, the team leader hand-to-hand in a thrilling scene, which is exceptionally brutal. He’s about a head shorter than, well, everyone but he’s very, very fast. And yes, I know it’s choreographed, but they’ve still got to throw those kicks and punches. There’s one piece where Mad Dog throws a kick, Jaka grabs the leg and just swings him into the doors of a cupboard. The poor guy gets tossed about a lot, actually…

But this is Rama’s film, and the action stays firmly centred on him. After safely depositing an injured team member with an unlikely ally, he tries to regroup with the rest of his team. He does so eventually, but not before dispatching people in a variety of manners, namely gun, knife (the thigh rends are particularly unpleasant), fists and a doorframe (don’t ask). Iko is a practitioner of the Indonesian martial art of pencak silat, but there’s also thai boxing in there, and a few others. Comparisons with the Thai martial artist Tony Jaa (star of Ong Bak, Warrior King, etc.) are possible, but I found the silat portrayed on screen to be more compact and less focused on large moves, which seem to be Tony Jaa’s signature moves (think flaming knees). There weren’t as many limb breaks as there were in Warrior King, however, and it’s good to see something different.

To sum up, the action is pretty much relentless, but it has structure, a plot driving it and great spectacle. I have no problem giving it a 10/10, and looking forward to picking up on Blu-Ray for all the special features.

Edited for a correction to the team leader’s name; it was Jaka, not Andi – my mistake, thanks to Melissa for spotting it :)


The Cabin In The Woods review – 10/10

It’s been a very long time since I’ve blogged, but my word, The Cabin In The Woods (hereafter TCITW) deserves it. Directed by Drew Goddard and written by him and Joss Whedon, it’s a genre-bending film. As the trailers said, you know the premise: 5 young things go off to a cabin in the woods, and Bad Things happen. As the trope goes, they are picked off one by one by various unpleasant ways until the hero(ine) triumphs at the end.

Well, TCITW turns all that on its head, kinda like the clever Rubik’s cube poster for it. From the very start, it is clear that something much larger is going on here, and there are other pointers along the way. TCITW progresses as you would expect, with jumps, scares and creepy rooms, and it’s all fun and games until some reads some Latin, and then all Hell breaks loose. The numbers are quickly thinned, and then we’re just left with the hero(ine). Maybe.

Without giving too much away, the five in the cabin are being monitored, but for what, we don’t know. This does lead to some very funny dialogue and situations, and also to some “aha!” moments, such as why do couples always have sex outdoors in the woods in these sorts of films? Why do they always split up to search somewhere?

The people doing the monitoring – well, they get a large slice of the film as well, and it is fun to figure out what is going on. It’s also good to see Winnifred Burkle (Amy Acker) again as a, well, whatever she is. Because of the monitoring, there are times that there is a lot happening on different video screens – there’s even something happening off in Kyoto, but I think I’ll need to watch it again as there was a lot in the last third that I missed.

Horror is not really one of my genres, so I’m sure I missed lots of nods to horror films, but I think I got some (there was a Cube nod, I’m sure). I’m no acting critic either, so in my eyes all of the actors did fine, fine jobs or conveying their emotions, from humour to PANT-STAINING terror :)

I can’t really write much more without starting to give stuff away, so I’ll just end with some choice quotes, which won’t be funny until you’ve seen the film – and maybe not even then ;)

“I’m still on speaker-phone?”

“Good one, zombie hand”

“He has a husband’s bulge”

All in all, see it. The less you know going in, the better, and the last third is a riot. A solid 10/10 from me.


iTunes 10.5.3 on Windows 7 Premium re-launch issue

My wife recently bought herself a new PC and installed her usual apps on it (iTunes) and some new ones (including Gimp). There was an odd issue where once you closed iTunes, it would not re-launch, but would if logged off and back on again.

After trawling t’interweb for answers, I came across a solution that worked on a helpful board somewhere, but I don’t remember the link. Basically, find the file ASPDaemon.exe in C:\Program Files\Common Files\Apple\Apple Application Support\, and either rename it (i.e. ASPDaemon.exe.old), or you can allegedly run it in Compatibility Mode for Windows XP Service Pack 3. I renamed it and it’s worked fine ever since.

Might help some people…


C# LINQ standards for Finding and Getting

A bit of a semantics thing here: recently I’ve been creating a lot of extension methods over using LINQ. I used to call my “search” operation GetByID, e.g.:

public Person GetByID(this List persons, personID)
    return persons.SingleOrDefault(p => p.PersonID == personID)

However, that then means I need to check for null after calling persons.GetByID(blah), which seems a bit odd for an explicit Get operation, as in “I’m sure this data is in here, if not, than an Exception would be permissible”.

So, now for extension method LINQ queries that use .SingleOrDefault I use FindByID to remind me to check for null afterwards, and my extension method GetByID now uses the LINQ .Single operator / thingy.

Very quick post, but there ya go :)