Friday, February 26, 2010

Self Certificated Sick Leave

Please say briefly why you were incapable of work for the period stated above, words like unwell or illness are insufficient.

I had a fever, slight headache and very sore throat which made it difficult to speak, admittedly not essential to my job but I wouldn't want to pass the illness to my colleagues who need to use the phone without sounding like they'e doing a Barry White impression.

Tuesday, February 23, 2010

Using Outlook Web Access

Since my work seem to be refusing to enable IMAP on their new Exchange server and I refuse to use Outlook, which is just too slow and cumbersome for my simple needs, I've spent the last few days getting to know Outlook Web Access, Microsoft Exchange's webmail offering. Here are some tips:
  1. If you're using Firefox and are miffed to find that you can only use the "light" version of OWA, don't be, I prefer the light version and would recommend it to IE users too. And no, OWA does not work on Firefox if you fake the User Agent.
  2. Don't worry about the missing autocomplete/drop down functionality in the To, CC, etc. fields, type in the names of your recipients separated by semicolons and click Check Names.
  3. If you need to import contacts use the desktop version of Outlook.
  4. There is no Discard button on the Compose form (my one annoyance so far), so go straight to the drafts folder, use the check box and click Delete.
It's not too bad really.

Thursday, February 04, 2010

Facebook Stream_Get, Offline_Access and getFilters Not Working

I am not sure whether I am being stupid, the Facebook API documentation is really bad or the Facebook API just doesn't really work very well, but if you want to display a user's own profile feed on a page (eg, your own feed on your homepage) here are some pointers: (I do not guarantee any of this information is up to date or even correct.)

o) Setup your application on Facebook, it may be easiest to use the sample/example code they give you to start your project. Fill in the Canvas Page URL and point the Canvas Callback URL at your own domain URL. Then visit your Canvas Page URL.

i) To be able to have a page request restricted information from Facebook while the user is not logged in on a particular machine you need to request off line access, you can do this in these two ways, among others:
<fb:prompt-permission perms="read_stream,offline_access">
Grant
</fb:prompt-permission>
<script type="text/javascript">
FB.Connect.showPermissionDialog('read_stream,offline_access', ondone);
function ondone(a){ alert(a); }
</script>
ii) You then need to grab a persistent session key, in PHP this is available like so:
$key = $facebook->api_client->session_key
$key = $_POST[fb_sig_session_key]
iii) Once you've got this key you (or your script) can "become" the user like so:
$facebook->set_user($user_id, $key, 0)
iv) You can then get an array of streams using stream.get:
$streams = $facebook->api_client->stream_get($user_id, $user_id...)
v) I have not worked out how to "filter" stream_get to return just posts, or links, etc. getFilters will return a list of filters, but I have not had any success in changing the return value of stream_get, at all. There are also apps on the filter that is returned that I am sure I have not installed, Doodle Jump for example, wtf?

The $stream[posts][x][type] value in my streams reflects the following:

11 - create/join? group
46 - post
56 - wall post
80 - link
237 - flickr
none - profile pic, note

Changing the content type of my page rid it of some nasty characters:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Remember that PHP's htmlentities() can also take a charset.

See the result at http://kitten-x.com/#facebook.

The ridiculous thing is that you can save an awful lot of time and effort by using the Facebook RSS feeds, such as:
http://www.facebook.com/feeds/share_posts.php?id=userid&viewer=userid&key=akey&format=rss20
To get your key (and userid) go to your notifications page and click on the "Via RSS" link, you can then change "notifications" in the URL to "share_posts", "status", etc.

Wednesday, January 27, 2010

The TV Licence Swindle

So I want to buy a TV licence and pay for it monthly. Simples right? Wrong. It is Jan 20th 2010, so my £142.50 licence will run until Jan 20th 2011 right? Wrong. It will run out on 31st Dec 2010 because they backdate payment to the 1st of the month! I am paying per month, so that will be £11.88 per month for twelve months right? Wrong! It's £28.50 per month for five months. And guess what happens then? You start paying for NEXT YEAR'S LICENCE! WHAT. THE. FUCK?

UPDATE I am now (9 Feb 2010) trying again, this time without the direct debit complication, and yet it's still saying valid until 31 Dec! It's not even backdating it to the 1st Feb.

Tuesday, January 19, 2010

Converting Oracle SDO_GEOMETRY Fields To Points

Just because Google didn't help.

SELECT Alias.FieldName.SDO_POINT.X, Alias.FieldName.SDO_POINT.Y
FROM TableName Alias

The alias seems to be necessary.

Monday, January 18, 2010

Short Reviews: Kim Noble Will Die, Soho Theatre

YvonneLet me preface this with the letters I, A, C, N, A, A and C, that is, I am certainly not an art critic. In fact, not only do I not know anything about art, but I don't even know what I like. I do not know if I enjoyed Kim Noble Will Die, it certainly passed a short hour of my time, and I do not begrudge it for doing so, though maybe I begrudge the cost of that short hour.

Was it funny? In places. It was also totally gross and certainly not for the faint of heart. I think I would have found it easier to laugh if I'd known for certain that it was all made up, as it was, any laughter there was was often followed by an uncertain feeling of guilt at what you already knew or shock and horror at the next revelation, many of which were graphic, in at least two senses of the word.

I couldn't help feeling a little bit gypped at being asked to leave when a handful of women and their red capped come jars* were asked to stay. I felt more sorry though, for the guy who'd paid £15 to have a bucket on his head for an hour, and the girl who'd been booted out, though at least she did get the consolation Microwave. I'm sure I am supposed to feel gypped at being told to leave, and scared that I might be the one to be booted out, and it wouldn't work if these weren't real people, really booted out, or having a bucket put on their head, but I'm not sure I like it.

* Yes, that's what I said, red capped come jars, there was a lot of coming, and spewing of other bodily fluids, though not much going.

If you actually want to know something about Kim Noble Will Die check out the Guardian review.

Wednesday, January 13, 2010

Short Reviews: Leong's Legends, Taiwanese, Chinatown, London

Taiwanese @ Leong's LegendsI don't think I've been to any other Taiwanese restaurant, but Leong's Legends (map) is certainly excellent. If you eat pork and don't mind (quite) a bit of fat I especially recommend the braised pork belly, it's delicious. Service is brisk, prices are very reasonable. Props to Kai RufieC for the find.

Thursday, December 31, 2009

Recipes: Rich Chocolate Cake

Most Disastrous Cakes EverThis isn't the easiest cake recipe in the world (see picture), but as long as you make the icing nice and thick it will cover any imperfections in the cake itself. The hardest bit is folding in the egg whites at the end as by that point the mixture has usually solidified into a solid ball, for this reason I melt the butter, not that it helps much. It's also a good idea to let the cake cool (and thereby solidify) completely before slicing it in half, so remember to leave enough time for that.

The cake:
  1. Beat 8oz butter with 8oz brown sugar.
  2. Beat in 4 egg yolks one at a time adding a portion of 4 oz self raising flour after each one.
  3. Fold in the rest of the flour, 4oz ground/chopped hazelnuts and 8oz melted chocolate.
  4. Fold in the beaten egg whites.
  5. cook the cake for 1 hr 15 mins at 170C, 325F, 4G. If it starts to get too brown cover with foil.
Once cooled slice into two and fill with 1/2 pint whipped cream.

The icing:

Melt and mix 6oz plain chocolate with 4oz sifted icing sugar and 4 tablespoons water.

Decorate with chopped hazelnuts.

Monday, December 28, 2009

Short Reviews: Cinnamon Kitchen, Liverpool Street, London

Red DeerThe Cinnamon Kitchen is excellent, in fact I think on my last visit it over took Konstam as my favourite restaurant in London.

All of the mains that I have tasted have been very good, the roast goose breast and rack of lamb especially stood out, although I can only describe the safron sauce that the lamb came with as "weird", I'm afraid I can't remember what the goose came with. And the pork chop I had the time before with vindaloo spices (just pleasantly warm) and marsala mash was perfect. The menu seems to change quite regularly, so don't sue me if these aren't available when you go.

While I wouldn't recommend one particular main the desserts are not so consistent, they're all interesting, but I would especially recommend the banana tart tatan, and if you don't like banana the chocolate fondant and mousse. The ice creams are good too.

Price wise the Cinnamon Kitchen is fairly varied, starting at a veggie main for about £12 to the red deer at about £30. My one caveat about this restaurant is that, in the tradition of Indian restaurants everywhere, they try to sell you more than you want or need, on our first visit we ended up with six starters between four people.

Monday, December 21, 2009

Short Reviews: Sandi Toksvig's Christmas Cracker, South Bank

Like watching your child's school play: slightly amusing, but only because you know some of the people in it. Five Guys Named Moe and the three opera singers were all very good and professional, something notable by its absence in the rest of the cast. The frequent jokes about needing to rehearse were more true than funny. To cap it all the sound was so bad in our section that we frequently missed parts of the jokes, those that there were. They might get better by the end of the run, but that's not much of a consolation to those of us that paid to see a dress rehearsal for your show.