So, we’ll be in Japan in about a month’s time. Like usual, I am going to type up daily reports (in Dutch) that I am going to mail out to interested parties. But we’ll also be taking quite a few photos — both with cellphones (me) and with DSLR camera’s (klik). We would like to share these with the people who read the reports — but obviously we’d rather not send all those shots through e-mail.
So now I’m looking for a light-weight way to distribute those photos — preferrably with captions, and a way to group photos together, so that you can see all photos from a single day together. I would like to be able to post through an app on my android phone as well — so CMS’es with a fiddly interface are not my preference.

What should I do? Upload to LJ and make a post there? Just make a tumblr? Host a wordpress blog somewhere? Something else?

How to set up a campaign for Play by VOIP

Play by VOIP (PbV) is a great way to game with a geographically dispersed group, from the comfort in your home. If the logistics of meeting and playing for a few hours are too hard to get working, or you can’t find local people to play the game you want to play (or master), then PbV is a really convenient way to play with people over the internet. I have been running a weekly game of The One Ring for a month now: every Tuesday from 20:00 until 22:00, we meet online and play together. I’ve got players at the other side of the country (which isn’t too impressive with a country like the Netherlands, but it’s still too far for a weekly two-hour game), and in another country — and we’re all having lots of fun. For two of my players, it’s the only chance they have to play.

But there are also some drawbacks. Obviously network issues can throw a spanner in the works: without internet connectivity, nothing works. And since people play in their homes, you get the distractions at home as well. I’ve had games interrupted by crying children or spouses who want to ask some pressing questions. You have to allow for that.
I really like roleplaying games for the social aspect: coming together with a group of friends to tell interesting stories together. I don’t play games that have tactical movements and need battlemaps. Keep these biases in mind when reading this — your needs might not align perfectly with mine. This is all based on my own experience and needs, and your milage may vary!

This ‘guide’ is aimed at gamemasters, who want to set up a game for PbV.

What everybody will need (no exceptions!):
– A computer;
– A reliable broadband internet connection;
– A webcam;
– A headset (headphones and microphone);
– A room that is relatively private and well-lit;
– A Google account.

The absolute best way to play a PbV game is through Google Hangouts ( Download the software from that page — I have had best results with Firefox under Windows 7, but your results may vary. I really like the Hangout way of group video conferencing: you can see people’s faces, and the video feed with the person talking is shown in full-size. It is also possible to ‘livecast’ a Hangout, or record a Hangout and put it on YouTube.
It is possible to use Hangouts with your laptop’s built-in speakers and microphone, but there are two problems with this. First, the echo. The algorithm for removing echo is pretty good, but if there is any noise at the other side, the sound will get mixed back in, and the ensuing echo is really annoying. Second, the quality of the built-in microphones is often very bad, making it almost impossible to hear what the other is saying. You don’t need an expensive ‘gaming’ headset to play, but a headset with a built-in microphone is a minimum to have everyone hear everyone else. Bad sound quality will negatively affect your participation in the game — unless you really like being asked to repeat yourself.
You also will need to play in a well-lit room, so that others can actually see your face when you’re playing! And if you play in a high-traffic area in your house, others will see your pets and household members walk on by in the background. That can be disruptive or unwanted — use common sense here. The mic and the webcam can be disabled without leaving the Hangout, see below.
Sometimes the GM needs to be a bit of a moderator: only one person can be talking at any one time. Be prepared for this, and prepare your players: spontaneous interruptions are not a problem and can be funny at the table, but in a Hangout, it prevents people from hearing eachother!

During your first Hangout (which might be the session to install the Hangout Toolbox, below), take a moment to configure your Hangout. If you move the mouse towards the top of the screen, an option-menu appears. Use the button with the cog to set up your Hangout — for instance, which speakers (your headset) and which microphone (the one on your headset) to use. This menu also has buttons for muting your microphone or disabling your webcam feed. That’s very useful when you need a quick toilet-break or anything else happens that might interfere with the game and you don’t want to disturb the others. (I also always disable the mic and webcam when I’m waiting for my players to log in on our Hangout — I like to keep unintentional domestic scenes off the internet, especially when the Hangout will be recorded!)

A Hangout may have ‘plugins’ and ‘extensions’ enabled. These add features to your Hangout, like a dice roller. You will need to download these and enable them in your Hangout. Once someone uses the plugin in a Hangout, all participants will have the option to download and use the plugin — so as the GM, you need to set up your Hangout with the right plugins, and your players will get them served to them on a silver platter!

The first plugin to get is the Hangout Toolbox ( This allows you to set the ‘lower third’ of your video feed — perfect for naming characters, but it also has individual volume control for each participant. It’s is hugely useful, and you can’t really do a good Hangout without it. There’s a good tutorial on how to use the Hangout Toolbox for gaming over at .
When you’re ready, click on ‘Get it now!’ to start a new Hangout. You will need to authorise the plugin being downloaded and used. Go on, play around for a bit with it!

The second plugin to get is Dicestream ( This is a full-featured diceroller that supports a lot of different dice types. There’s a good tutorial on how to use Dicestream over at . Like with the Hangout Toolbox, you can acquire this plugin by clicking on the button, which will start a Hangout and automatically download the plugin.
Experiment with it for a bit. If you’re using a system that tracks ‘points’ (like Fate’s Fate Points), you can use the counter. Otherwise, simply disable it — it’s mildly distracting to see a black ‘1’ floating at the top-right corner. Also take a look at the Settings tab. I always uncheck ‘Clear Dice Selection After Roll’, to preserve my dice selection, because I make a lot of the same dice rolls. I always check ‘Clear Dice Before New Roll’, so that a new roll will replace the dice already rolled.

This is all you need to start playing most games! You can now schedule a meeting through Google Calendar and attach a Hangout session to it. (Tip: If you put the meeting in the future, the Hangout link will remain active until that time. That means everybody can bookmark the URL and simply go there when it’s time to play.) I would recommend that you schedule a first session to debug all the technical issues that will pop up, so that everybody is set up correctly before play actually begins.

However, if you work with a lot of handouts or (detailed) maps, you might want to use a ‘virtual tabletop’ for that. I chose Roll20 ( — not because of a thorough feature comparison, but because it’s free and integrates with Hangouts. Setting up Roll20 for your game is beyond the scope of this guide, but there’s an excellent series of tutorial videos at . There is also a ton of system-specific documentation (including macros and character sheets!) which is enumerated at the Roll20 Wiki (
If you’re going to use Roll20, make sure your players create an account there and join your campaign. When you view the details of your campaign, there’s a link to launch the campaign in a Google Hangout. That’s the link you want to use and give to your players for the Hangout. This will download the Roll20 Plugin within the Hangout.

The thing with Roll20 is that it takes the attention away from the other players: instead of looking at eachother, you’re looking at a shared tabletop. I only use it when I have a handout or map to show to the players: I explicitly ask them to switch to Roll20 when there’s something new to see there. If you (and all of your players) are using multi-monitor setups, this is less of an issue: you can have the Hangout on one screen and Roll20 in another.
I also never use the diceroller in Roll20 for the same reason, even though the combination of character sheets and macros make it really easy to use. I want my players to roll in Dicestream, so we get to see their faces when they roll a critical success! To me, that’s a major part of enjoying playing with others.

Good luck, and have fun! If you have any corrections, suggestions or other comments, please leave them below so that others may benefit!

So during a World Cup game that the Netherlands played in, I ran a game of Dungeon Crawl Classics (that I wrote about here) for a group of friends. I bought a module to run: the 0-level funnel scenario ‘Sailors on the Starless Sea’.

All the modules that Goodman Games publish come with gorgeously illustrated maps. However, these maps are all exclusively for use by the GM: they are marked with area numbers and the secrets (of which any good dungeon crawl has a few) are also clearly shown.
I wanted to share the map with my players during the adventure, so I set to work!

I did the following:

  • Using PDFtk, I exported the pages with the maps to their own one-page PDFs;
  • Using The Gimp, I opened the map PDFs. I used a resolution of 600×600 dpi, to get good-quality images;
  • I now had the maps as digital images. Using the various tools at my disposal, I edited out the following:
    • The letters designating the various areas;
    • Any secret areas — don’t want those to be immediately apparent!
    • Any secret doors, for the same reason.

    I mainly copied things from one part of the map over the things I wanted to keep hidden. After this step, I had a complete map without numbers or secrets.

  • I saved those maps back to their PDF files and printed them out on A3 size paper (I’m lucky to work at an office equipped with an A3 printer, and they don’t mind the occasional print for personal use. Showing it to our systems administrator and explaining helped too.)
  • Using a pen knife, I cut up the map into sections, so that I could gradually reveal the map as the characters discovered the different areas;
  • In this particular adventure, the characters know the basic layout of the keep — they have to choose how to approach. So I left the outlines of the keep intact, and cut out everything inside the walls;
  • I glued the outline of the keep onto a blank sheet of A3. Using a glue stick, I could then glue sections of the map in as they were discovered.
The resulting maps

(For the second map, there is no ‘outline’ like there is in the first map. I put the different parts on a blank sheet of A3, and drew a line with pencil on the spots where the ‘entry sections’ should be.)
It was a great success. I used a red pen to draw little crosses where PCs had died, with their names — it’s a funnel scenario after all. And one of my players, who is now running us through the first four ODM modules, is now using this technique for the maps from those modules!

Next time I do this, I will make two versions of the maps: one without secrets, and one with. That way, I can put the whole map down even if my players don’t find any secrets — empty spots arouse suspicion! The secrets can then simply be pasted over the non-secret version when they get discovered. Still, it served its purpose and really drew in the players into the atmosphere of the location.
But the next time will not be for Dungeon Crawl Classics. There is an undercurrent of antagonism in the modules (though others would call it “impartiality”): everything is relentlessly hostile to the characters. I found it a rather tiring game to run, so I think it will be only this once.

I’ve succeeded in syndicating the entries for kliktikfix onto Facebook, where I created a Page for the site. However, the process is a lot more complicated than it is with Twitter, mostly because of the way Facebook uses access authorisation. Also, there is a lot of outdated info to be found when searching for a solution, so I’ve decided to post the solution I’m using, in hopes it is of use to others.
Please note that this code works at this moment. Future API changes might invalidate it, which it did with so many other posts about the subject.
I’m assuming you know your way around PHP and that you have access to a site that runs PHP scripts.

My use case

I’m guessing if you want this, you’re already on Facebook. Next step is to create a Page that you will syndicate to. If you don’t know how to do that, this page will tell you how to go about it.

So far, so good. Now we have to register a new ‘App’, so that we can get the keys to the proverbial kingdom!

Registering a Facebook App

Next, we’ll be creating a PHP script to get a so-called Page Access Token. The whole Access Token thing is explained in the documentation, but in short, here’s what we’ll be doing:

Our flow

Follow these steps to create the script to get the Page Access Token:

Getting the Page Access Token

Now we have our Page Access Token. Remove the PHP script from your server, so that it can’t be called by someone else — we don’t need it anymore, and we don’t want anybody to stumble upon it.

The next step is to create a PHP script that posts to our Page.

Testing posting to the Page

When I had it working, I saw the entries appear. There was only one problem: only I saw the entries! Other users or viewers who were not logged in, didn’t see them! This gave me a few headaches, but in the end the solution was simple.

How to publish your App

It took me quite a bit of time (and some frustrating moments!) to get this working. I hope this posts helps others achieve the same — with less time wasted and less frustration!


One of the coolest features of Writer is the so-called ‘Brochure’ printing option. That will put two pages on each side of a sheet of paper, in the correct order to make a signature: if you make a stack of the sheets and fold them in half, you have a ‘booklet’ that is fit for brochure binding. However, that printing option makes only a single signature — so it works for documents upto 20 pages. That’s five sheets, and that’s about the maximum size of signatures with 80 grams printing paper. And most documents are distributed as PDF anyway…
So, suppose you have a PDF (either something you created yourself from your own document, or for instance an RPG you bought from RPGNow or a PDF with all the MERP modules you torrented from somewhere) and you want to create a book from it — what do you do?

Why, you just run this script!

Accents in Writer

I’ve been writing a lot of text for the RPG, using Writer. It’s certainly a very servicable word processor. Not that I have much choice: there aren’t many word processors that run on Linux, but we’re lucky that the one that does, works as well as OO.o does.
But there is one thing that I found quite vexing: inserting accented characters. In Microsoft Word, you can define shortcut keys for accented characters and simply use those shortcuts to produce an ï or an è. Not so in Writer: there is an ‘Insert Special Character’ dialog (which is hard to navigate to top it off), and it doesn’t allow you to set keyboard shortcuts.

Which why I was very pleased to find a macro called Accentuate, which replaces character sequences like “e'” into an é. Map a keyboard shortcut to the macro, and you’re done! And since the source comes with the macro, you can also add your own sequences too.
This is speeding up my text production significantly.

Goodbye mobypicture!

I’ve been using to automatically post photos I took with my G1. However, the photos got resized pretty harshly, they were hosted on mobypicture’s website, are visible to everyone and used only the most basic of posting options.

Clearly, that wouldn’t do at all. Having a permanent LJ account, I have a metric ton of space at Scrapbook — and that even allows me to use the same security settings as I have on my Journal. That certainly allows me to take pictures that not everyone can see, which offers more opportunities to post ’em.
Having found a Python module to upload an image to Scrapbook, all that was needed was to write some glue between some modules to retrieve an email from a particular email adress, resize the image, take into account some special codes to set security, tags, icon and mood, and then use the Benzaiten code to post an Entry that links to the image.

Took me some time to get it all right, but now I have a scheduled task that does just that. As long as Calcifer is running (and it’s always on), any photo I mail will be posted within five minutes. There is now no more reason to use anymore — all is now in one place!

Improved efficiency

After I tweaked my Jaunty installation on Calcifer, I had to deal with a lot of crashes and general instability. Sometimes the font tables would get messed up (necessitating closing and restarting all programs to get legible text again), and sometimes I would get a total crash — I could still move the mouse, but keystrokes and mouseclicks would go unregistered. And the mean time between failures was steadily decreasing.
So I removed the kernel (which was part of the tweaks to get the Intel graphics behaving again), and lo and behold: everything is rock solid once again! And the graphics are still doing fine — Google Earth is as nippy as before, so I’m a happy camper once again.

I’m busy preparing for our vacation (we leave for Denmark on Wednesday), and of course geocaching will be part of our holiday. Next to selecting caches, editing the descriptions and printing it all out, I also wanted to update the set of maps on the GPSr. However, that is only possible from within Windows, using Garmin’s Mapsource program. That meant I had to boot Sootball into Windows again.
Sootball boots into Jaunty by default, and I can use VNC or FreeNX to take control of the desktop there. I can use a VNC server on the Windows side as well (I use one to remotely control Jiji as well). But before that can happen I have to hook up a monitor and keyboard first — I need to interrupt the GRUB default boot and select the Windows boot option.

Wouldn’t it be cool if I could specify from within Ubuntu that the next boot should go into Windows? Then I could start up Sootball, log in on Ubuntu. set the next boot to Windows and reboot. Then I’d only have to wait a bit until Windows would be all started up, and I’d use VNC to control the machine. On next boot, it should go to Ubuntu again.
And now I have precisely that set up. Through the magic of the GRUB ‘savedefault –once’ command, I can set the next boot for something else and still have the default boot go to Ubuntu. This means I can run Sootball completely headless — all I have to do is log in from Calcifer. No need to switch cables around anymore!

Also, I found out that Mapsource can also write the maps to an SD-card through USB — that speeds up things dramatically — as in: 10 minutes instead of 90!

I am quite pleased.

Through the recommendation of other people, I have recently come across two utilities that have made my life immensely easier. Depening on your computing needs, they might be of interest to you too.

First off: FreeNX. Upto now, I used VNC to control the Ubuntu desktop of Sootball (when it’s turned on) from Calcifer. However, VNC is pretty slow to update the screen. A colleague of mine demonstrated using FreeNX to log in on the Ubuntu machine of his parents over a modest ADSL line — and it was screaming fast — much faster than the VNC speeds I get over my LAN.
NX is a very efficient protocol, and it tunnels over SSH. Using FreeNX, I can use Sootball as if I’m directly logged on to it. Of course, that speeds up things tremendously. There’s also an NX client for Windows machines, so if you use Windows as your main workhorse but need to do stuff on a Linux machine, FreeNX is your best choice.
Unfortunately, there’s no NX server software for Windows — I’d love to use it for taking over Jiji. Alas, in that case, I’m stuck using VNC.

Secondly, SoapUI, a webservices testing tool. I’ve used SoapUI 1.something to test calling a webservice — pretty cool stuff if you’re writing a webservice and want to see what happens if you do an actual call. But last week I upgraded to the latest version (2.5), because the software I was working on also had to call a webservice.
Using the WSDL as input, SoapUI can generate editable requests that you can fire off at the webservice. But using that same WSDL, the newest version of SoapUI can also generate a webservice! You can define one or more response messages, and using either scripting or XPath queries, you can make the response sent back dependant on the request received.
This is a great tool if you’re on either side of a webservice, and only have a WSDL to go on.

With only a week left before we leave on our trip to Japan, our preparations are shifting into higher gear. We’re looking through guidebooks for things to do and see, and of course I am preparing hardcopies of the descriptions of the geocaches that we might want to do/wander close by. GetCache, my own tool (that may or may not violate the Groundspeak ToS), is very handy for this.

However, it’s a lot of caches. And even if I print two-sided, it’s still a lot of paper. But has a very handy feature built in: printing as a ‘Brochure’. This will print two pages on a single side of the paper. Microsoft Word can do that too (through printer driver settings), but the Brochure setting will also shuffle the pages in such a way that you can simply stack the pages, fold ’em in the middle, and you’ll have a booklet without having to shuffle the pages yourself!

So now I am making ‘geocaching booklets’ for all the places we’re going. TNJ has a stapler large to staple through booklets like that, so we’re all set.