Eat your own dog food …

I’ve always liked this expression. It is used in some parts of the computing world, and means that you use your own products both to demonstrate their quality and to discover bugs and son on.

So, I am about to eat my own dog food … as opposed to my dogs’ food.

And by dog food, I am referring to the Italian crossword maker which I’ve recently added to Surface Languages.

It works!

It is complete 🙂

But there some glaring bugs 🙁

And doubtless some others which are more subtle! It is those that ‘dogfooding’ will discover. And in the meantime help me revise some Italian vocabulary.

An example of (a more subtle bug):

One across was Pasqua (Easter) and one down was paradiso (paradise). I had forgotten to convert all words to lower case and so program considered P and p as different characters. This meant that you could never enter the correct answer for both words. Ho. Hum. Frustrating for those solvers.

I will be eating my own dog food in the heat, as the temperature here in the West Country is about 30 degrees. Naturally, we don’t have air conditioning as we spend more time shivering than sweating, and all the shops have sold out of fans. It makes a change from rain but I’m walking our hound ridiculously early in the morning so neither of us over-heat. Chasing a ball in 30 degrees is no fun ..

tempus omnia revelat



Crosswords and language learning

I’ve almost finished adding a crossword game to SL. To be more precise, I’ve added it to SL but it isn’t entirely finished. There are bugs, and all things being equal they will be fixed next week.

I uploaded it by mistake too early. So if you try it, go easy on me.

Remember PPPPPP?

Proper planning prevents p**s poor performance. (No swearing on my blog). Unless you are FBTFFOF – work that out yourself. Anyway, as usual my attention to detail planning wise is poor. Very poor.  These reasons and many more explain why I write iPhone Aps for a living, rather than run a FTSE 100 company or something more grown-up.

For the geeks among you, feel free to copy the code (mainly javascript). I wouldn’t recommend it particularly, as it turns out that writing a decent crossword generator is something you need to do more than once to get it right. And as with so many things in life, it might well be something you only do once. It also turns out that my javascript knowledge isn’t as l33t as it could be. Ho. Hum. This isn’t the first time I’ve written shonky code, and it won’t be the last 🙂

For the non geeks/programmers javascript is a programming language commonly used to make webpages more splooshy. (I’m going to turn auto-correct off. I meant to write splooshy, and definitely not splashy).

I’m really hoping that these crossword generators will be a useful language learning resource, as picking up vocabulary can be difficult and needs re-inforcement in as many different ways as possible. This struck me as a good one – while chilling in the garden drinking a cool cider or maybe red wine.




Italian & Polish

It has been some time since I’ve mentioned either Polish or Italian in my ramblings, what with the dictionary issues and all. On that note, I’ve added the first one, and even finished the first of four dictionary based games.

So, all is going well on the programming side of things:)

But what about language learning?

At the beginning of this year, I set myself the (arbitrary) goal of reaching the B1 language level in both Polish and Italian. I already spoke some Italian (A1 ish) but not very much and no Polish at all, but SL is about languages, and I should learn them …

So where am I at?  (Don’t write like that kids if you want to pass your exams.)

My Italian is going well. I have a conversation partner and speak once a week. I’m starting to feel more confident in speaking (although with plenty of mistakes), and am starting to get a feel for how the language works. Success breeds success, and I’ve been spending more time on Italian than Polish over the last six weeks or so. Earlier in the year I spent more time on Polish, so I imagine the overall time spent will even out over the coming months.

I’m confident I will reach the B1 standard in Italian before the end of this year, and this will give me a good base going forward.

As an aside, I’m finding Italian grammar more complex than Spanish, but I don’t know if this is because it is more complex or just that I’m more accustomed to Spanish.

And now onto Polish.

Well, I was told by a Polish speaker the other day that Polish was very difficult for English speakers to learn.

I’m not going to disagree with that assessment.

If I had to guess my level, I’d say it is a low A1 – in other words I’m still very much at the beginner level. There is no way (this year) that I will reach B1 or even A2.

Surprisingly perhaps, I feel fine with this. Polish is a difficult language for english speakers to learn for many reasons. It is not impossible, but it is difficult. I am making progress, but slowly. The grammar is hard, most of the commonly used words are completely unrelated to english or romance languages, and there are a lot of consonants. (Actually, that isn’t a good reason for my tribulations with Polish, but there are a lot of consonants. How does this work playing scrabble. Is it easier or harder?)

I only have so many hours in the day, and so many hours to spend on Italian/Polish and while I will reach a good level in both (given time) I’m in no hurry – no tengo prisa, non devo sbrigarmi,  nie jestem w pospiechu (??). It is about the journey, and I don’t feel frustrated with my slow pace of learning. As long as I carry on improving, I will reach my goal.

But as well as this, I think that it is easy to forget how much there is involved to  reach a good A1 standard. I was ‘roughly’ assessed to be A1 in Italian at the start of the year, and I was surprised by how much I then needed to improve to reach A2.

So, I’m pleased with what I’ve achieved so far.

Anyway, it is a nice day, and I’m off to water some geraniums:)




I’m learning Italian and …

… it gives an insight into my (probably) flawed decision making process.

I’m learning Italian which is why the first dictionary I added is  an Italian dictionary. (The next will probably be Polish – for the same reason).

This is probably not a good reason for deciding which dictionaries to add, and in what order. Plan to fail or fail to plan?! Hmm.

Anyway, I’m happy, the weather is good, paws are clean, and I think (to improve) my Italian, Surface Languages needs the following three ‘dictionary’ games to be added:

1. A  Word making type game like this 🙂 As I already know how to do this, I’ll do it first.

2. A word search type game. Quite therapeutic and I think easy to add.

3. And this is the what I really want to add an Italian crossword based on the dictionary. I imagine there are all sorts of complexities to iron out with this. I’ve never written crossword/dictionary code before.

I can’t wait …



Italian Dictionary

I know I sound like a stuck record – continually wittering on about dictionaries. (If any of you can even remember what a record is or the origin of the expression you get a bonus). I’m showing my age … soon I’ll start talking about gramophones.

Anyway, I have finally added an Italian dictionary to Surface Languages. Phew!

I’m well chuffed.

OK, I accept there may be teething issues but that is the nature of the beast. Bugs will occur and I will fix them.

Other Dictionaries?

Naturally there are other Italian dictionaries out there, and  this begs the question: do we really need another one?

Of course we do!


Well, for a start, on a personal kind of level, it is a proof of concept. I now know how to add a dictionary to SL and as importantly how to obtain the information from Wiktionary – (perfectly acceptable according to the Creative Commons License).

This means that I can add dictionaries (over time) for some of the smaller (although equally important) languages. I have a hankering to add Catalan …

And answering the next question which is: what are you going to do with the dictionaries?

Look up words!!??

Obviously,  but I also have the basis to allow me to  create an app for  iphone and android devices when I have a moment.

It also means that I can add some cool and sparkling dictionary related games – and I will do this next week. I hope … 🙂

And even better, down South (UK South that is) where I live, summer is about to start – according to the met office! For once, I’m going to believe them, what with it being July and all!

Peace and happiness,


Italian dictionary. Coming soon …

I’m been kind of obsessed with adding dictionaries (and just as importantly) dictionary games to Surface Languages for some time now. It has proved more difficult than I imagined:(

Difficult but extremely interesting in a nerdy sort of way. I am a geek so this isn’t a problem, but it has still been time consuming, and I have other things to do. Once the first dictionary is up and running, I’ll update anyone who is still with me on my Italian and Polish learning. Loving both – but guess which is easier?

Luckily, the summer still hasn’t started, so I haven’t been distracted by wanting to spend too much time outside. Apart from morning walks with the hound, and the odd bit of compulsory lawn mowing.

Oh. And I have some pots … Geraniums mainly ..

So, where am I dictionary wise?

Well, there is a hidden Italian dictionary on the site. As the functionality isn’t complete, you can’t find it from any menus.  But, I hope to have it finished by the end of this week or next depending on what else I have to do in the meantime.

And then on to dictionary games!

I intend to add lots. Yes, I am the sort of person who reads dictionaries for fun, and it strikes me that dictionaries and word search games are like raspberries and cream, hand and glove, carne y uña, and so on. (I learnt that last one recently).

Adding dictionary games will be like a walk in the park (on a summers day) and I can’t wait.

Pax to you all,


Italian Dictionary. Update

It is raining throughout Europe. We (the UK) are having to import wheat for the first time in a decade – (actually I’m gluten intolerant but it is not a good thing).

Wheat crops are being grubbed out and replaced with Barley – because of the rain.  And yet our politicians are still resistant to the concept of renewable energy. You know the sun, waves and the like. When will politicians learn that climate change is happening, and happening now?

We have a bunch of muppets running the UK.

And I’m being charitable.

Really, really charitable.

Additionally, there are paw marks all over the kitchen floor and a slug (quite a big one – probably driven inside by the inclement conditions outside).

Is there any good news?

Yes. I now have an Italian dictionary of around 500,000 words imported into a sqlite database.

This means among other things I can create Italian dictionary aps. But first things first, I’m going to create a dictinoary page on SL and write some neat code to access it and some cool dictionary related games.

Eat your heart out, branded dictionary people.



A free Italian dictionary with more than 100,000 words …

It is June, it is raining and our dog has very damp paws. His paws are like sponges and there are enormous wet paw marks on the floor. Happy days. (I’ll post of picture of said hound soon).

I haven’t posted for a while, and that is partly because my every waking moment (slight exageration) has been spent on trying to create dictionaries using wiktionary (as permitted by the creative commons license).


I looked into licensing dictionaries to add to SL and the cost is prohibitive. I naively thought that a big dictionary could be licensed for maybe £100 a year. It turns out that the real cost is prohibitive. Add some 00’s kind of prohibitive. Welcome to the real world.

But I need dictionaries …

1. I need them for part of my secret and as yet unstarted project. But dictionaries will be required.

2. I need them so I can create free dictionary aps for iPhone and Android devices.

3. There are a lack of free dictionaries (of a decent size) on the internet for languages with fewer speakers.

4. I want a dictionary page on SL with dictionaries and dictionary games – designed to work well on tables, pads and phones.

And so my only option was to create dictionaries myself. The way to do this is to use the data from wiktionary, parse it using some whizzy coding, create a flat file, index it and create a database.

I started with Italian (as I’m learning the language), and assumed that I would crack this relatively trivial task within days. An hour here. An hour there. Bing. I would have a dictionary.

It turns out, that while the Wiktionary is very easy for a human to read, it is a non-trivial task to write a program to parse it, and spit out a dictionary. In fact, it is a tedious, unforgiving and difficult.

Anyway, I’m a l33t programmer and I have teh skillz:)

So, after a lot of frustration, I have almost written some code to parse the Wiktionary and produce a dictionary.

I almost have an Italian dictionary with hundreds of thousands of words.  And when I do, I will add it to SL. I hope it will be as good or better than any of the expensive branded dictionaries.

It is, as they say, coming soon …



And for all you Welsh language learners …

I was sent this today. A new series of cariad@iaith (love4language) is starting this Sunday, 19 May 2013 on S4C. It’s a series that follows  ten learners of Welsh (for a week), living in tents, being tutored in Welsh, performing challenges and so on.  I live near the border and it is raining hard here (the gulf stream has apparently jammed again), so good luck to them!

So if you are thinking about learning Welsh, or need a bit of inspiration, look no further :-

Welsh for beginners

I’ve never learnt any Welsh, but probably follow along. Only a generation or so ago there were Welsh speakers in my family. How quickly things change …