Open Office Presenter View

I was delighted to discover recently that Open Office have released a working version of their long-anticipated Presenter View. Both Powerpoint (from Microsoft) and Keynote (on the Mac) have these views which allow someone giving a presentation to see the current slide, the next slide(s), any notes associated with the current slide and some timing/progress information. Personally I’ve been booting into windows solely to deliver presentations for a couple of years now, partly for the Powerpoint Presenter View and partly because Linux isn’t very friendly about driving second screens.

Well, one of those problems has been eliminated with this new plugin for Open Office. It only works with Open Office 3 or above (I’m using 3.0.1). You’ll also need to download the extension from the project page which you can find here:

http://extensions.services.openoffice.org/project/presenter-screen

Go to Tools -> Package Manager and browse to the .oxt file you downloaded from the site, and restart Impress – hopefully everything should just work! The settings are hidden in the “Slideshow Settings” screen, look right at the bottom. And with luck, you’ll see your slides on your second screen as usual, and something like this on your main screen:

All I need to do now is figure out why I sometimes have issues with xrandr and projectors, and I’ll be ready to go!

Maker Faire UK

Yesterday I took the opportunity to pop along to the Maker Faire in Newcastle – its so exciting to see events like these in the UK! The marquee there was pretty small but what it had was great fun. I saw several things there that had me really drooling – one was a harp, another was a bracelet with LEDs on it, the idea being that you could have the LEDs get more intense or more agitated when you received more tweets/emails (except this wasn’t a working prototype, just a pretty idea). There were all sorts of other people there, including folksy and oomlout and an O’Reilly stand where I bought an instructables book.

We also popped over to the Discovery Museum, just up the road where there were a few more events happening. I haven’t been before and had a lot of fun looking around the various bits, especially the Science Maze. At the back of the science maze was a workshop where you could make a “throwie” – an LED taped to a battery and some magnets, for throwing at fridges and things, and then a darkroom with surfaces to throw them in.

throwies

Later on there was an appearance by the “robot” Titan. He arrived, and stood up … I was astonished to see a walking robot (walking is really tricky), especially since his shoulders seemed very large – and in the next heartbeat I realised it was a man in a grey plastic suit. There’s a few photos though on my flickr stream along with a few others from the day.

All in all I am very excited to see something like this happening in the UK and am on the look-out for the next event of this kind.

Simple SVN Merging

Today I had a big SVN merge to do – i’m at the end of a development cycle and I needed to merge my branch of changes back into trunk. I dug out my crib sheet for merging and tweeted that I had – and a few people asked me to blog it so here it is.

diff the relevant paths until the + and – shoe the operations you want to perform to your working copy

change into the equivalent directory on your working copy and replace the word “diff” with the word “merge”

That’s it.

Seems like a bit of a short blog post for something that a lot of people find painful, so here’s what I actually did, in more depth.

Example

  1. I had the branch I’d been working on checked out. I committed all changes and triple-checked that I had done that
  2. I ran svn log --stop-on-copy and noted the revision number which was the commit where I created the branch
  3. Next I took a checkout of trunk so that I could break things in my own space
  4. I changed into the new checkout and from the root of it, figured out what I should be diffing, piped it to more and read through the output to make sure I really was applying what I thought I was applying. svn diff -r[branch create rev]:HEAD http://path/to/repo/branch/ | more
  5. Then I ran the same command again but without the |more and with diff now replaced by merge
  6. I then checked my working copy, if there were conflicts I’d have resolved them, checked the system still worked, that sort of thing
  7. Committed my changes

I hope that helps – the same principle applies whether you are applying one fix or many fixes to trunk or branches – the key is to think about what it is you want to merge, and make sure the diff looks right. You can play with the diff without breaking anything for as long as you need to (which today was just as well because the first thing I tried was completely not the right one!) and once it looks plausible – merge those changes in and then untangle anything which has gone wrong from there. Hope this helps!

Blurb Book of Peru Holiday Photos

In January, Kevin and I went to Peru for a few weeks – to visit our friend Cally, and we did some touring while we were there. Between the two of us, we took almost 3,000 photos. Which is way too many to make granny sit through when we got home. I tried showing people the photos I put on flickr, but they make little sense since Kevin has (at least) half the good ones in his flickr stream. So instead, got a blurb book of our holiday photos – to easily show people, and to keep.

Blurb Book

Apart from a few that came out darker than we expected, and the book taking WEEKS to arrive, its absolutely ace! Some of the photos look amazing in print – even more so than they do on the screen. We rarely have hard copies of any of our photos so this is quite a treat for us as well, and the book is really nice quality for us to have on our bookshelves.

Inside the Book DSCF4982

Doing it this way was much less labour intensive than getting them printed and then scrapbooking them up or something – OK potentially this was less fun but at least its actually done and not sat on my to-do list :) We did all the layout ourselves, combined both our flickr sets (after we’d both gone through and edited and captioned the lot anyway), and just pressed the button. A few weeks later, the finished book arrived – yay!

Sortable Views in Drupal 6

I’m completely new to Drupal, I’ve heard a lot about it and I know some evangelists, but I’ve never had reason to use it – until now. So, I might be using the wrong words for things or not explaining things too well, but I’m going to record this because it took me so long to find, and I might need it again.

I am working the Workflow Summary page, which is populated by a view. This view has fields, filters and I can specify the sort order for it, which is all great and it has a surprisingly accessible interface considering all the ajax and whatever else that is going on in there. But the users wanted to be able to re-sort the columns as they went along. Guess what? Drupal already has a way to do this!

  1. Edit the view you want to add the column sorting to
  2. Under “Basic Settings”, look for “Style: Table” and click on the picture of a cog next to it. (if I were a serious blogger, I’d screenshot. Never mind, eh?)
  3. Scroll down to see the table settings
  4. There is a list of the fields, and a tickbox for each labelled “sortable” – tick the boxes for any columns you want users to be able to change the sort order on

I didn’t find this very fast but thanks to some help from #drupaluk on freenode someone pointed me in the right direction – my columns now have clickable headers and resort as expected! If this helps, or if you have any more tips for this type of thing, please do add a comment.

PHPUK Conference (London) 2009

Last week I was in London for the annual PHP conference held by the PHP London User Group. One thing that makes this conference different from any others I’ve attended is that its organised by volunteers. Another thing which makes it unique is that I have attended more than one of these annual events: this is my third year in attendance here, whereas I’ve yet to attend any other conference more than once.

This year had quite a different feel from the other times I’ve attended. With a “real” conference venue at Olympia Conference Centre and talks by big-name employers rather than the usual round of community luminaries, I wasn’t really sure what to expect. In fact for the first time I didn’t even try to attend talks in every slot, since there weren’t so many that appealed to me. Of the talks I did see however, I can only give great praise for the most part. I was completely taken by surprise by Aral Balkan’s “The Future’s So Bright, I Gotta Wear Shades” talk. I mean, put a trendy guy with a cool name who claims to be a flash developer together with a cheesy talk title and make it the first talk of the day … I mean, meh. However, I was very happily surprised to find it was a great talk, the audience loved it and I was completely inspired!

The organisers also allowed us to have a stand to represent phpwomen.org which was great. We had little badges and moo cards to give away and quite a few people, men and women alike, dropped by to ask what we were about and to say hi. We had fewer general passers-by talking to us this year than last year. I’m not sure whether that was the more formal setting, because we were there last year anyway and are better known now, or whether the fact that there were actually quite a few women there put the guys off getting too close to the group :) Either way, it was great to have everyone and we made lots of new friends!

The PHPWomen Stand

All in all, I had a wonderful time and enjoyed the crowd and all the people I met – both old friends and new ones. See you all next year!

techPortal – new PHP developer resource

There is a new resource for PHP developers available from today – techPortal from Ibuildings. First, I must add the disclaimer – Ibuildings are my employers, so I’ve known about this project for a while. I helped set up the site and the first tech article on there is mine. With those aside though, this site is going to be a really valuable resource – with content on advanced topics mostly written by my colleagues. Ibuildings employs some pretty accomplished people and has a steady stream of interesting projects, I get to chat over these things when I see the guys (and girls) in the bar; it’ll be great to have it written down and shareable.

The “share” aspect of techPortal is really key – we have all learned a lot from other people publishing and sharing their knowledge, and this is a central point for all our developers to contribute in the same way. I’m also very excited on a personal level since I’m already published on the site! My article Getting Started with Memcached is my first contribution to this new venture and I’m looking forward to seeing what else will follow :)

(I should point out that the article is now a few weeks old and doesn’t include anything about the new memcached extension recently released by Andrei Zmievski. Perhaps there could be a sequel … )

Bean Dish

I have recently made this “bean something” dish a few times, for vegetarian fajitas, to eat with rice, and also as filling for baked potatoes. Its yummy and even better I can feed it to a friend with a requirement for meat-free, dairy-free and gluten-free food! Here’s the recipe:

1 onion
1 tin of tomatoes
1 tin of kidney beans in chilli sauce
herbs and seasoning

chop the onion and fry in a little oil. When it is soft, add the rest of the ingredients and simmer for fifteen minutes.

Speaking at GeekUp Leeds

On 18th February, I’ll be making an appearance at Geekup Leeds, to give a talk entitled “Linux-Fu for PHP Developers”. Basically this is a tour of some of my most-favourite command line tools available in Linux, and its a pre-cursor to the talk I’ll give later this year at php|tek in Chicago. What’s different about the Leeds version is:

  1. I have no idea yet if I can type and talk at the same time
  2. Its in a pub
  3. I will be using the Geekup-standard 20/20 format – 20 seconds per slide, 20 slides

I’m not panicking exactly, but I am thinking I need to get some practise in and decide which commands need to be included in this initial short talk version. Suggestions welcome, add to the comments please!

PHPWomen “I am” Competition

PHPWomen have announced a new competition on their website – to complete a sentence “I am a phpwomen member because…” in a post on their forums to win a prize! Already people are posting and the prize is a certificate to spend at php|architect’s site. Pop over to the forums and join in the fun!