Technology

Cycling with mapping on the side

Today I got a sudden urge to go for a cycle ride. I don't currently own a bike of my own but luckily my Dad had several old bikes in the garage. Now, most of them didn't work (generally things wrong with the gearing systems) but one of them was in fairly good shape and needed only a little air in the tyres, an oiling and a bike-stand transplant from one of the other bikes.

Being an OpenStreetMapper, I only go on trips to places that need mapping (fortunately that is almost everywhere, even if I'm only adding addresses) and so I perused the maps to find a suitable location and I noted that there were substantial bits of countryside that I had traced from aerial imagery but had not yet been in person to check up on. So I decided to take a trip to Havant Thicket which is a nice forest/scrubland area about 6 kilometres from my house with what I remember being very nice cycle paths around it.

So I printed off come paper maps of the area for annotation and loaded myself up with my GT-11 GPS, my N96 and N810 and set off. Before I left, the area looked like this:

It wasn't until I got going that I realised two things: how unfit I seemed and how different roads are for a cyclist compared with a car driver. Hills seem to appear that weren't there before and the places you are allowed to cycle are much less obvious. For example unsigned cyclepaths mixed with footpaths really don't help.

However, I made to Havant Thicket without too much trouble (although cycling along the single-carriageway 60 mph road was a little scary at times) and started mapping. I found many routes which I hadn't been able to put on the map before simply by randomly cycling around taking whichever path seemed most interesting. In fact there are some paths I didn't venture down in case they kept on going forever and I never got home and some were just too muddy for me to bother with today:

The area just south of Havant Thicket is scheduled to be turned into a water reservoir and nature reserve whilst at the moment it's very nice heath land:

And so with all of that I cycled home, wishing that I'd bought more water with me but thankful for the many benches scattered around the thicket, especially as today was unusually warm for England. Fortunately, it's the time of year for blackberries and so halfway home I stopped and ate about 20 blackberries from the hedge which made be feel very rustic indeed. All in all, I cycled about 14.1 miles which isn't bad considering I've only got on a bike about twice in the last five years.

Of course, once I was home I added/re-tagged all the cycle paths in OpenStreetMap and added what cycle lanes I'd noticed on the way. Once the map was re-rendered, it looked something like:

In other news, I've also been doing a lot of mapping around my more immediate area. I'm planning on fleshing out the whole area with building outlines and full addressing but at the rate I'm moving, that'll be several years away.

Finally, I'm getting more and more annoyed by my internet connection at home. It seems to flicker on and off which isn't noticeable for web browsing but makes any sort of sustained connection impossible - that includes IRC, IMAP and FTP which are basically unusable with timeouts after a few minutes at the most. Anyone else had similar problems?

Falcon 0.9.2 released

I'm pleased to announce that the latest version, 0.9.2, of the Falcon Programming Language has been released. Quoting from the release announcement:

Although we consider this a starting point rather than a final target, we have completed all the coding and testing we considered vital to release the first official version in the 0.9 series. The last release candidate has been under examination for more than a month, and exposing it to unprotected environment (embedded in commercial grade applications, driving websites, running complex stand-alone applications) allowed us to clear the field, polish the last problems we were able to discover and release this version as official.

For those of you who don't know, Falcon is a relatively new language of the sort that would generally be described as a scripting language. It is multi-paradigm in that is supports more than just procedural and object-oriented with functional, prototype, tabular and message-oriented. Syntactically, I would probably compare it to Python or Lua.

It is already being used to power websites (e.g. the main Falcon website) and is very usable as a general purpose scripting language as well as an embedded scripting language. It is also notable in that is is one of the supported languages for KDE's very own Kross scripting language layer, allowing you to use Falcon to write plugins for KOffice and the like.

I am currently packaging it up for the openSUSE build service (available from the contrib repository or search here) and you can get the source from the official site.

It's almost all written in C++ so if you fancy getting involved in programming language/library development why don't you help out? The community and codebase are both still quite small so it should be easy to get up to speed and hands-on. Come join us in the #falcon channel on freenode or on the mailing list.

LGPL Qt 4.5.0

I know I'm not the first to post about this (I'm about 12 hours too late for that) but I do think it's very exciting news. I can't see any immediate impact it will have on the KDE desktop itself but I'm sure that 6/12 months down the line, once Qt usage is increased and bugs are fixed and new features are implemented, we'll feel the impact.

It interesting too see how far this news has spread across the Internet too. For example I'm a regular on the Ogre3D forums and even though there's very little interaction between the two projects, there's discussion going on there.

Perhaps the most surprising thing, however, is that reading the Dot post about it there's probably the lowest level of trolling I've seen in a long time. Not even hardly any anti-GTK trolling either which is good to see. Well done community!

(On this note, does anyone know of any time line for the new Dot? I heard before 4.2 is released but that's getting closer now.)

Back to KDE

This last term at University has been pretty busy. That's to be expected I guess since it's now my final year but I've been busy with my final year masters project (a particle physics project in collaboration with BaBar) and a course in high performance computing where I've learned everything from SWIG to OpenMP and MPI. My interest was so piqued by the HPC stuff that I've decided that I am going to focus my PhD on that area, now I just need to find somewhere that will take me :)

Anyway, that's the reason I've been somewhat absent from KDE recently. However, now it's the Christmas break and while I do have some Uni work to do, I've got some time for KDE stuff, particularly for KSquares which has unfortunately been almost unchanged since KDE 4.0.0. I'm just about to start work on a full AI system for it. Up until now, the AI had two modes, one which just moves randomly (hardly fun to play against) and another which only takes moves which are immediately the 'least damaging'. Neither of these modes have any sort of forward planning and so I am planning on implementing a simple decision-tree type design to allow the AI to be perfect (this is possible in squares since it is a very closed game).

In related news, I've started using KDevelop 4 (I have been building it for a while now but had been experiencing crashes - these now have mostly stopped). I remember using KDevelop 3 previously and while it was a very good IDE, I couldn't seem to use it for anything more than automating tasks (configuring, building, searching). KDevelop 4, however is a different story. If any of you have been following David Nolden's blog you'll have seen sime of the nice new features it brings. It's more than just auto-completion, it really does allow you to browse your code like a semantically sensible web-site. Your mouse never has to leave the text-area.

On an unrelated note and for those who care, I've also been doing a small bit of work (mostly minor optimisations, documentation and the CMake buildsystem) on my brother's recent project. It's basically a framework to allow the use of Qt and OGRE in the same application (so that a game could, e.g. use Qt to display the GUI, menus etc.). It's called QtOgre and is now available as an OGRE Addon. It was designed to be used in his game project/voxel rendering system Thermite 3D.

Thermite & PolyVox

PolyVox
A engine component which stores virtual environments using a volumetric representation.
Thermite 3D
Thermite is an experimental 3D game engine primarily designed as a show case for PolyVox technology

My brother Dave's volume rendering engine/game engine/sandbox. I could go to the effort of explaining all about it here but it's probably best left to him. Explore the Thermite site for more information.

KSquares

KSquares was my first foray into KDE programming and as of KDE4 is part of the KDE Games distribution. More information can be found at the KDE Games website.

I’m covered in bees!

Pff, it seems I only get to writing on this thing when I'm busy. Well, that can't be entirely true because I've been busy almost non-stop since the last post and I haven't posted since I've been too busy. I've got plenty more maths/EMO/C assignments to do but I'm putting most of those off to the last minute like a good boy.

Further to all this, our house is falling apart. At the moment both the toilets are broken (in different ways, mind), the internet is flaky as the sun and the power keeps cutting out. The power problem in fact led to my computer almost breaking. Every time the power goes, it corrupts the CMOS so when the computer is turned on again, I have to set up all the settings in the BIOS again. However, today it just started beeping at me. Not good. Fortunately, after a bit of troubleshooting, I discovered it wasn't the memory (which was nice) but a manual wipe of the CMOS fixed it without too much pain.

Despite all this, I got round to ordering the Eddie Izzard MMVI boxset so that's been cheering me up :D I can't stop pointing at my head and saying, "In my mind!" People must think I'm crazy.

KDE tutorials

While looking through the 'new' developer wiki looking for ways in which I can help, I came across the tutorials section. I remembered when I started KDE development (only a month or two ago) and how hard I found it to find decent introductory tutorials to KDE specific concepts such as KConfig, XMLGUI and even actions/shortcuts. I realised I was in an excellent position to do some good. I started KDE development recently enough to still remember the things that I found hard but I've also learnt them well enough to be able to teach others.

I decided to do something in the vein of the Qt introductory tutorials where the reader is taken through the steps of creating a program, introducing Qt specific concepts along the way.

The fruits of my labour (so far) can be found under Programming Tutorial KDE 4. Mine are the ones labelled "Tutorial x". However, Tutorial 1 was mostly designed by other wiki-goers and I'm sure that in the fullness of time, my work will be given plenty of love by our fellow KDEers (that is the beauty of the wiki for this type of project).

Feel free to pick through them and put your thoughts on the relevant "Talk" page for me or the others to go over :)

Off to Uni

Well I'm off to university again tomorrow! I'm starting my second year of Physics.

I've got myself a new Printer (Epson D68 Photo Edition) which works in Linux thanks to Gutenprint and a wireless network card (Broadcom BCM4318 [AirForce One 54g]) which also works in Linux thanks to NDISWrapper so I'm all set. Our internet isn't going to be set up for a week or so since we only just ordered it so 'till then I'll be mostly silent.

Syndicate content