2014 and what next for Surface Languages??!

Apparently, six people read this blog yesterday.

Six! Can that be true? Has my blog really gone viral so soon? Well, happy Christmas, buon Natale, feliz Navidad, Boże Narodzenie and all the rest to you good folks (and anyone else who stumbles into my parlour).

You six are all special, and don’t forget it. Apart from being intelligent, good-looking and all around good eggs, you are also the first to hear about my plans for next year. These are :-

1. Six new languages for Surface languages. Icelandic and Basque will be two of them.

2. Add a lot more Russian to SL. Yay!

3. I will add an export facility to SurfaceTexts (and any other features that seem particularly cool). There is an ‘export’ button which is not plumbed in. No code as yet.

4. I will add some more languages to the crossword/puzzle section of SL.

5. I will start and finish a new game for the iPad/iPhone … I have what I consider a completely awesome idea – which based on past experience isn’t necessarily a good indicator of success, but nevertheless I am going for it.

6. Improve my Italian from my current (weak) B1 level to B2.

7. Continue learning Polish, and maybe start chatting on-line once I improve. I’m still at the level of idę do parku na spacer (I go to the park for a walk) , so chatting on-line is not so productive.

It is number five that currently has my attention. I almost have a design (in my head). W00t W00t! Ph34r de coding skilz 3tc.



Assimil Polish. Lesson 100 and my thoughts

Due to the boss leaving early, I write this in bed along with a sleeping dog. Disgusting I know, and no doubt horribly unhygienic, but almost certainly good for a healthy immune system. And he isn’t actually under the dovet …

I wanted to have some neat link with ‘let sleeping dogs lie’ and Assimil but can’t think of one. Probably because it is too early. I am (by inclination) a games programmer after all. Cliches and all that.

Anyway, back to Assimil.

Firstly, an admission, I *cough* never reached lesson 100 and it could be sometime before I do, but I wanted Lesson 100 in the title. It gives me more credibility. Lists always include ‘ten ways to be highly effective’ *yawn* or ‘100 great ideas to …’ (fingers down throat).

So Assimil. Well, Assimil are a series (of highly regarded) language products comprising of 100 short dialogs, along with some grammatical explanations. The idea is that you spend no more than half an hour a day (or thereabouts) with each lesson, doing a lesson a day until you reach lesson 50. This is called the first or passive wave.

After lesson 50, each day you do the next lesson and revise previous lessons starting from the first. So on day 50, you do lesson 50 and revise the first lesson, and on day 51, you do lesson 52 and revise lesson 2 and so on …This is called the second wave, or active phase.

The key is that you are supposed to learn and reproduce the lesson being revised more or less by heart. So you should have memorised lesson one, two … This works because you internalize key language structres.

The idea is a good one … in theory kids.

Because there is, or certainly was for me a problem with this. I admit it could be that my memory is shot, or my brain is already full but …

… I found that the lessons rapidly increase in difficulty too quickly. I suspect that if you have some knowledge of a similar language this isn’t a problem, but I found it next to impossible to do more than skim the lessons in the half hour allocated in the passive phase.

The amount of new vocabulary added per lesson also increases exponentially, and many of the words only occur a few times within the dialogs. I discovered that it would literally take me hours to complete each active lesson. For me, the course would be much more useful if it covered less of the language but in more detail.

But, forewarned is forearmed, and knowing this I would still recommend Assimil because :-

1. The dialogs are good and clearly spoken.
2. I like the grammatical explanations and notes.
3. I found the shorter dialogs possible and useful to memorise.
4. The course provides a structure to learning.

but with the following caveats.

1. Use Assimil in conjunction with another course.
2. Don’t try and do a lesson a day – unless you are a genius or maybe your memory if better than mine.
3. Don’t use Assmiil as your first course, but spend some time with the language first.
4. Don’t bother with the low frequency vocabulary. An illustration is a lesson in a post office where the word ‘registered post’ is used. This is pretty far down my list of useful vocabulary.

For those who are interested, I’m now on Lesson 38 regarding the active wave, and have stopped the passive wave entirely. In the end, I found it unhelpful, and somewhat demotivating.

To sum up I would say, that using Assimil is like taking a dog for a walk (y ahoro tengo que sacar a pasear al perro incluso si va a llover).

L8r d00ds,



Surface texts. How and why?

So, Surface Texts now mainly works.

Surface Texts is my (initial) attempt at a foreign language reader. The idea is that you :-

1. Read a text.

2. Click to translate words.

3. Learn the words using flashcards.

4. Export the words if required (into ANKI, quizlet or whatever your favourite flashcard app may be).

Number four isn’t yet complete. I’ll look at this after christmas when I know exactly what I want it to do.

There are other language readers out there. Two which spring to mind are lingq and readlang. I’m sure that there are others.

And now of course, we have Surface Texts, and I’m sure you are wondering why I have added another language reader to the rash of these sites flooding the internet.

Essentially, because I found that the other readers were overcomplicated (most of the time) for my needs. I don’t always want to listen to audio. I don’t always want to import books. I also know that while I create flashcards using these apps, I very rarely review them.

So, what then did I want?

I wanted a reader, primarily for reading web pages, which would enable me to quickly create/discard and learn flashcards. And so, I have written Surface Texts.

It is now usable, and does what I need. Over the coming months, I will add additional features (starting with export) that seem useful to me – having used it for a while. I might even add a related App.

How does it work?

It is a very simple site, making use of javascript, jquery and jquery ui. There is currently no server side coding although some of the enhancements I intend to add will use a bit of php.

localStorage is used extensively to save the imported files and saved flashcards.

How have you written this so fast? Do you have l33t coding skills?

Obviously (smirk) I have l33t coding skills 😉 Actually, you may question this statement if you look at the code – which you can do as it is all un-obfuscated javascript. But more importantly I made some design decisions meaning it was straight-forward to write.

1. I decided to use localStorage to store data. This made life much easier as there was no coding required for login, userids, associated admin and so on.

As most people tend to use the same pad or computer this shouldn’t affect most users. (Note to self. I need to improve the export to overcome this for users who flit from machine to machine.

2. It is a free site, and I haven’t needed to worry about support of all browsers. i.e. Surface texts won’t function with any browser that doesn’t support localStorage (which is an html 5.0 feature). I’m assuming that more and more browsers will be fully html compliant over time.

3. I wanted Surface Texts to be minimalist. I didn’t want a vast number of features and functionality. Any additional functionality will be hidden from the users.

PS. As I use a Mac, I’m not sure that it works on IE. If it does’t, I will fix it!



More Surface Texts and soon paws for thought.

Hi doods and doodesses.

I happened to have a few hours peace and quiet today, so I thought I would continue with Surface Texts (a free foreign language reading website).

I’ve added some (basic) flashcards (woot), so I can actually start using the site and tweaking it in a more meaningful way. Hopefully I’ll finish these on Monday, and at some point in the future (when I have more peace and quiet) I’ll jazz them up a bit.

I want to have ST working before XmAs so that I can paws for a while to ponder on how it should look and what it should do.

I say ‘paws’ as the rain has led to big muddy paw prints all over our house from best boy (our dog). He has big paws which soak up water like sponges. It astonishes me how quickly he dries them on the carpet.


And apparently it is going to rain from 6 to 11 this evening. If I didn’t have another more pressing matter to attend to, I could probably finish the flash cards tonight.

But I have to cook a roast dinner, and doing this is rather like ‘a blind man, in a dark room, looking for a black cat, that isn’t there’ if you get where I’m coming from as it were. I mean, I like cooking, but not roast dinners. All the bits. It’s too fiddly by half.

I’ll probably get by, drinking the ChRiStMaS sherry and wine.



Surface Texts

I have been working on Surface Texts, an online foreign language reader designed mainly to help me learn Italian (and Polish). The gist is that you can import texts (internet pages), click on words to have an immediate translation, and then test yourself using flashcards.

I wanted a reader that worked exactly as I needed (and was free), and being a programmer the natural thing was to make my own.

Naturally, anyone else can use it as well.

It is not yet complete, but I hope by the end of next week (providing I can retain focus) it will be useable. It works now, but without flashcards – which kind of limits its purpose. So I’m going to add these asap and then spend sometime actively using and tweeking the site to make it just as it should be.

I am an apple d00d, so I’ve ensured that it works well with an iPad. (This caused me some headaches as Safari on the iPad doesn’t work in exactly the same way as either Safari on a Mac, or other browsers. Ho. Hum).

You can see where I have got to here.

For any fellow programmers, it makes extensive use of localStarage, so any browsers or pads that lack that particular facility (and some do) won’t be able to use it. I’ve used localStarage as I didn’t want to faff too much with server side programming with this project. There will be some (export of files and so on) but not much.

Helpful comments or e-mails much appreciated.



I was just settling down to do my Polish homework.

Kind (normally) people e-mail me periodically, with all sorts of helpful comments, suggestions and so on for Surface Languages. Thanks doods. I appreciate it.

I attend a weekly Polish class, and every now and then we are set homework, and every now and then I do it. Having left this to the last minute, I was just settling down to start (and finish) said homework, mentally girding my loins as it were, when I received an email with some rather cool suggestions for this site. Thanks. The idea is sparkling and I will certainly add it at some point in the future. Sadly, this line of thought has derailed my focus, and the Polish will have to wait. Perhaps, this is why some people learn languages quickly, and some dawdle? Who knows.

So, I am a programmer. A geek at heart. I can write assembler and twiddle bits. (I think the parroty error joke is hilarious). Ha!

But still, I have only so much spare time and I am working on another top secret project. And so this (uber cool) addition to SL will have to wait until after christmas. Or possibly longer.

Don’t read the next bit as it is really to help me remember what I am doing:

Use PHP and not Ruby. Installation of the Ruby environment is schifo.
Use Sqlite and nothing bigger to start.
Don’t get distracted by this amazing watch app that I’m itching to write.
Keep is Simple (Stupid). KISS. Let us say it again. KISS.
Get something working quickly.

It is the watch App that might derail me. I am by trade a games programmer and this idea is the dogs.

Ph34r my l33t coding skills!




It is Sunday night and …

… full of wine and peace, I’m contemplating the important things in life.

Life should we have a second dog or not?

And if so, what type?

Alsatian, Labrador, Retriever or Saint Bernard?

My wife wants (and apparently always has wanted) a Saint Bernard. I have a certain sympathy with this point of view, and see all sorts of potential benefits. I mean, who wouldn’t want a dog like that? Especially with the cold weather that we seem to have nowadays.

However living in an end-of-terrace I fear this may be impractical. There is also the issue of drooling, and ahem well you know, cleaning up after something the size of a small elephant. ‘Poop bags’ as they are so delicately known only come in certain sizes.

My son and I (and yes kids this is the correct way to write this) both want an alsatian.

I think we will compromise. Watch this space.