Our crippled lingua franca

Dr. David Brin complains (first and second blog posts) that kids today can’t learn the basics of programming in a way that is fun and, above, all, trivially accessible to every computer-owner. There’s no lingua franca of modern programming – a language that is both ubiquitous (comes with every PC) and accessible (very simple and suitable to learning basic imperative programming).

A storm of comments was generated by the Salon article. Most respondents didn’t seem to understand Brin’s real points. To be fair, the article itself was rather misleading. In any event, I’m responding here to what Brin wrote in his later replies, the first of which is here, starting with the words “your letter is cogent and intelligent”. (Permalinks to individual comments on Blogger don’t seem to be working.)

Brin correctly says:

Let there be no mistake. Only one institution [Microsoft] is to blame for this situation. And the same one could fix it, overnight.

I fully support Brin’s call for change, but there are two problems with it. First, Microsoft is extremely unlikely to make the change, because it goes against their interest. Second, he doesn’t address the things all the world apart from Microsoft are doing to fix the situation, and the things they’re not doing but should be.

Why we shouldn’t look to Microsoft for help

Brin has called my very condensed comment to the same effect cynical, so I’ll expand on it.

If there are more programmers around, the market is bigger and more active and everyone benefits, including Microsoft. So therefore, Brin’s argument goes, they should help raise a new generation of programmers who – as a bonus – would be used to Microsoft tools and languages and would eventually upgrade to (non-free) Microsoft SDKs.

There are several reasons why MS might not be so eager to do this. First of all, MS has a almost-complete monopoly on desktop OSs. And the problem a monopoly faces is that it can only lose market share, not gain it. (It can also expand the market, but that’s a separate matter.) So MS will prefer not to do anything new at all. It’ll stay where it is and move only to mitigate actual risks to its market share. Encouraging people to program doesn’t include any assurance that those people won’t switch to a non-MS OS or language later. There’s no obvious benefit, so MS won’t take the risks. This is comparable to the complete stagnation of Internet Explorer between the First and Second Browser Wars.

Second, MS has a history of antitrust problems due to bundling non-essential programs with their OSs. There was IE, nowadays there’s Media Player. If they include a new application with Windows – a compiler – in a market segment where they are far from having a monopoly (but where they are commonly accused of using the portable, standardized base of .Net to entice people to use their nonstandard Windows-specific extensions), they will very probably be sued by antitrust regulators again. They won’t risk it without a very good reason – a way to directly benefit from the move.

Third, MS is evil. Brin has called this a conspiracy theory, but it’s not; MS is openly and up-front evil. It’s a company known for its anticompetitive and illegal behavior; for spreading FUD; for soul-bargain EULAs (which noone reads); for embracing-and-extending protocols and formats; for making their own protocols and formats so hard to reverse engineer (and consequently use) that of the projects trying to do so (OpenOffice.org, WINE, ReactOS, Samba) not one has achieved full compatibility with the latest MS versions.

Sure, none of that precludes them making a simple beginners’ programming language, but what can you expect from a company whose “serious” APIs are so complicated and under-documented that the WINE project hasn’t been able to create a second implementation, even though the basic Win32 API has changed little over the last few years? After all, APIs are the second step a fledgling programmer takes, right after basic syntax and playing with algorithms and console-only apps. It’s just as important as the first step. MS have notoriously failed to provide simple APIs, and to me that indicates they are either really bad at designing APIs or think obfuscation-to-hurt-competition is more important than encouraging people to learn to program. They’re not the people I’d want to design my son’s first programming language. They’d probably get it so wrong he’d be turned off from programming for life. (Full disclosure: I don’t have a child.)

Just like, in fact, many people I meet are turned off from the idea of programming even though they’ve never tried it, just from using Windows. Computers are so complicated, they say, we have no chance of learning to actually program. And the command line is so ugly that we could never switch to an OS that relies on the command-line interface. (Two pieces of MS FUD in one: that non-MS command lines are ugly, and that modern Linux or OSX requires regular command-line usage. Both are unfortunately quite widespread.)

This is a pity, because if they had experience with the Mac tradition they might not be so scared. And if they had experience with the Unix tradition, they wouldn’t separate programming so sharply from “ordinary” usage. In fact, a Unix (or Linux, or (I expect) OSX) shell is probably just as powerful as BASIC, albeit with an uglier syntax. And many other languages are available on just about any Unix-like machine. In fact, the Unix tradition provides a smooth transition path from user, to shell-user, to scripting, to programming which seems to answer most of Brin’s requirements. This smooth gamut is important, because when users write their first for loop in shell script, they probably aren’t thinking of it as programming. Microsoft users are used to thinking that way, though, because scripting isn’t integrated with their normal usage patterns.

Too bad Unix-like systems aren’t ubiquitous, because they are certainly accessible once you have one.

MS doesn’t want to empower its users

Finally, MS has to work against its users some of the time, and so is afraid of them. Some of the biggest new “features” in Vista (and Media Player 11) have to do with DRM, Trusted Computing, and similar matters (there are many more examples). These are things no users benefit from, so MS are rightly afraid of some people switching to another OS (or just not upgrading). There are two things MS does to prevent this. One is user lock-in (e.g. to Office file formats). The other is preventing the empowerment of users.

When the OS fights against the user, it takes an empowered, computer-savvy user to notice and fight back. If DVDs include region-restricting DRM, an enlightened user can use a software player that uses DeCSS. If his Media Player music can’t be copied to another computer, he can use a tool that strips the DRM. If he doesn’t want to buy MS-advertised software, he can find a free alternative. And if he’s really annoyed, enough to overcome the lock-in of his data, he might one day switch to a different OS altogether.

But all of this takes an enlightened user. Big organizations often cite the necessity to retrain users as an impediment to switching e.g. from MS Office to OpenOffice.org. And there’s no user more enlightened than the one who has gained mastery and understanding of his computer through programming. By understanding Windows, and so some of the common underpinnings of computing in general, he’s halfway to understanding the other OS he’ll want to switch to one day.

Therefore, it is not in MS’s interest to encourage widespread programming. Not because all those kids will grow up to write applications for Linux, but because this would create a large middle class of power-users who, in their turn, will be able to provide grassroots support to their lower-class neighbors when they decide to switch to Linux. That must be one of Microsoft’s nightmare scenarios, because no truly big switch away from Windows can succeed without a large community of people to provide support to their family, friends, neighbors and workplaces.

This is an allegory that I hope will catch Dr. Brin’s eye if he reads this post, since it borrows something from his own writing. The average Windows user already has power, in that he has enough money to afford a computer and an Internet connection. What he lacks is the knowledge necessary to exercise this power, and MS are committed to keeping that knowledge from him. That knowledge would let a huge middle class of the information-manufacture and -distribution world wake to its power.

This is merely a different front of a familiar battle. Other fronts include the battle between traditional (i.e., pre-Internet) media suppliers/distributors and indies. Between mass-media news (including politics) and social software such as blogs. Between teaching kids that “copying is wrong” and Creative Commons. In a very real way, this is a battle between centralized authority and control and between people who defy or circumvent it using modern technology. And just as I wouldn’t expect MS to develop or support technology that would strictly benefit The People – say, something like PGP or Tor – so I don’t expect them to come all out in support of teaching the masses programming so they can develop this technology for themselves.

Obviously, this is only one out of many motivations that influence this situation. And I don’t suppose that all or even most people at MS are consciously acting like this. But some of them definitely are, possibly the higher levels of management which perhaps don’t feel about purely technological issues as strongly. After all, that’s what format lock-in, DRM and Trusted Computing are in a nutshell: preventing people from programming their own computers and using their own data.

Don’t get me wrong. MS can and do provide tolerably good programming tools, documentation and support – to people who already have some programming experience. Or to those who are determined to become programmers one day, and are actively going out to seek those tools. They have to do this, because if they don’t then these people will switch to other vendors now. But they won’t provide them to people who aren’t asking for them, because that would only encourage them to switch to other vendors in the future. After all, it’s natural for a programmer to want to explore other languages and OSs!

When he does, MS will find themselves judged on programmer-oriented features. And that’s one contest they could never win.

So what can we do?

A great many people are already at work. To build free OSs (and desktop environments and all other kinds of software) to free people from their dependency on MS, which isn’t primarily interested in their welfare. To help people to move to these platforms, and explain to them why they should do so. To force government agencies to provide their online services in a browser-neutral format and stop them from paying the MS tax and teaching children to use MS products in public schools. To discourage use of proprietary protocols and of undocumented hardware. And so on. Encouraging and enabling kids (and adults!) to program is an integral part of promoting free software, and is recognized as such.

Encouraging Windows users to switch to OSX (which Brin apparently uses) is also good. Anything is better than staying with Windows.

Of course, it would be very nice to see more activity in some of these areas, such as public schools. Here in Israel the Ministry of Education has an agreement with Microsoft that supplies MS software at reduced or free prices in exchange for making the kids attending these schools use said software at home. Want to hand in a composition? MS Word format, please. It’s crucial to fight things like that.

Which brings me to the matter of textbook publishers. Brin would like textbooks to include code snippets just as they once used to. Well, I’d like that too, and I don’t know anyone who doesn’t. The people who told him “don’t worry, the newer textbooks won’t have any of those little BASIC passages in them” are misguided.

Presumably the “senior Microsoft officials” who said that have the power to influence textbooks. I and other programmers like me don’t. I’d like textbooks to encourage children to program, but can’t do anything about it. Incidentally, I also think it’s more urgent to train or recruit schoolteachers who would encourage their students to try out these exercises ad help them to do so. Right now, the programming ability of an average highschool student is probably higher than that of an average highschool teacher, at least where I live.

If Dr. Brin has any further suggestions for what programmers who don’t work for Microsoft can do, I’ll be glad to hear them.

The next battle

The Microsoft monopoly on desktop OSs among non-technical people is an unfortunate fact, and we’re going to have to work hard to change it. But we should also remember that most people in the world still don’t have access to a computer or the Internet. If, a few decades from now, that situation is reversed, the majority OS will be whatever these people use. And if they use Linux and consequently produce a higher percentage of programmers than the Western world – or even the same percentage (resulting in a much bigger number) – the preferences and policies of Silicon Valley-based programmers might come to count for very little. After all, Microsoft isn’t known for its brilliant Unicode support and interface localization.

That’s why I think projects like OLPC (One Laptop Per Child, a.k.a. the 100$ laptop) are very important. It’s unfortunate that Brin confuses them, in his Salon article, with “Microsoft and Apple and all the big-time education-computerizing reformers of the MIT Media Lab”. Microsoft are the ones who disparaged the OLPC, which incidentally is is committed to Free Software and to enabling development and includes Python with the explicit objective of encouraging kids to program. The real sponsors of the OLPC are listed here. Microsoft sponsors some other things at the MIT Media Lab and possibly the Lab in general but, as far as I can make out, they don’t provide funds dedicated to the OLPC, which isn’t a project of the Lab but does have people from the Lab working on it.

Advertisements

11 Responses to Our crippled lingua franca

  1. Damian H. says:

    First of all, I enjoyed your article very much. However, there are some issues I would like to address:
    First of all, considering the “Why we shouldn’t look to Microsoft for help
    “ part: Microsoft has been investing time and money in promoting the .net environment, as a university student I can assure you the Microsoft is giving free courses, offering scholarships, and funding various program related projects, as long as you work on .net.
    As far as I know, that approach exists not only in universities, but in high schools as well.
    It can be argued whether the .net is a good programming environment or not, but it can’t be denied that it is being aggressively introduced to the educated public.

    Another point on which I wish to remark is that “modern Linux or OSX requires regular command-line usage”. Well, they do. I can testify as an ubuntu user, who chose that specific OS because it’s user friendliness, that I am forced to use command line interface now and then. Perhaps it is possible to avoid it, but not for the everyday user.

    On a different point, “but because this would create a large middle class of power-users who, in their turn, will be able to provide grassroots support to their lower-class neighbors when they decide to switch to Linux.”. that is simply nonsense. If that was the case, no single student in the university should have used MS products, because of the existence of Linux user in universities. Although there are more Linux users in universities, the majority of people still use MS. The reason why people don’t switch to Linux is not because of lack of other Linux users, but because Linux, at the moment, isn’t good enough for the average user. Mainly because of compatibility issues with the rest of the world, but also because of the t idea that using Linux is such a great cause, that you should ignore the fact the most of the things you want to do are impossible, and that the support is many time limited to responses such as: “I don’t use that, and neither should you”, “I don’t have that problem”, or my personal favorite: “the problem is not Linux, it’s jave and flash. Disable java and flash, and you should be able to use the internet just fine. On second thought, why don’t you switch to lynx?”.

  2. danarmak says:

    It can be argued whether the .net is a good programming environment or not, but it can’t be denied that it is being aggressively introduced to the educated public.

    You seem not to understand the subject of the post, and of Brin’s article. This about introducing the concept of programming to people who don’t know what programming is. What we shouldn’t expect MS to do is e.g., teach elementary programming to K12 students.

    I’m perfectly aware that they advocate and instruct in the use of .Net and other MS technologies among people who have already made the decision to study programming (“the educated public”). This is so for the simple reason that they know these people will program in some other langauge if they don’t do it. That’s not what the post is about.

    I can testify as an ubuntu user, who chose that specific OS because it’s user friendliness, that I am forced to use command line interface now and then. Perhaps it is possible to avoid it, but not for the everyday user.

    I did say linux doesn’t require regular CLI usage. It may require occasional CLI usage, but shouldn’t require even that for tasks that non-technical users are expected to attempt. If in some instances it does require such usage, then they shold be fixed. Could you provide specific examples?

    Note for clarity: CLI usage is required when there is no GUI tool to do the same task; and config-file editing is not CLI usage (since you can do it with a GUI editor).

    On a different point, “but because this would create a large middle class of power-users who, in their turn, will be able to provide grassroots support to their lower-class neighbors when they decide to switch to Linux.”. that is simply nonsense. If that was the case, no single student in the university should have used MS products, because of the existence of Linux user in universities.

    Note the conditional ‘when’ in my description! When people want to migrate to Linux, they will need grassroots support to do so. The (potentia) existence of the support is a necessary but insufficient requirement for the mass migration. I never said the only thing lacking for a mass migration was decent support. Your comment that Linux isn’t good enough for the average Windows user yet (read: doesn’t look and behave exactly like Windows and doesn’t support the user’s existing mission-critical Windows apps) is quite correct.

    Mainly because of compatibility issues with the rest of the world

    Correctly phrased as: Windows’ compatibility issues with the rest of the world….

    most of the things you want to do are impossible

    If most of the things you want to do is run Windows programs…

    and that the support is many time limited to responses such as: “I don’t use that, and neither should you”, “I don’t have that problem”

    The community support for Linux distros and projects is well known as the best, or one of the best, in history (depending on your metric). If some jerk has been giving you such responses, go to the official community channels.

    Of course, it might be you are doing something you shouldn’t be doing. In which case, address the reason give for not doing it.

    or my personal favorite: “the problem is not Linux, it’s jave and flash. Disable java and flash, and you should be able to use the internet just fine. On second thought, why don’t you switch to lynx?”.

    How many years ago did you last hear that? Java and flash (the latter for x86/x86_64 only, but it doesn’t sound like you’re using something else) have worked properly with Linux browsers for a looong time now. Today this almost qualifies as a troll.

  3. danarmak says:

    On second thoughts I’ll tone that down a bit: Java on Linux works properly with browsers, but it doesn’t always work properly itself. IOW, while there are normally no open unfixed bugs related to Java on Linux, my instinctive feeling is that the likelyhood of encountering an unknown bug is greater with Java than with most other packages that are as important (other language runtimes, say).

    BTW, the #1 reason people will tell you not to use Java and Flash is that neither has a complete, uptodate, Free implementation (for Linux or otherwise). And they’re absolutely right. You shouldn’t, as a matter of principle, use unfree software such as Sun Java or Flash.

    if this makes you think “it is Linux’s fault, then” or “Linux really isn’t ready for sane users like me”, then what’s the point of your using Linux to begin with? Once you take away the freedom – in this case not a vague moral argument at all, but the crucial freedom to fix the Sun Java bugs so I can tell you Java works great on Linux – what’s left?

    Well, sure, a lot of power and convenience is left. But if you only come halfway towards freedom, then you only get half of the benefits.

  4. Damian H. says:

    “You shouldn’t, as a matter of principle, use unfree software such as Sun Java or Flash.

    if this makes you think “it is Linux’s fault, then” or “Linux really isn’t ready for sane users like me”, then what’s the point of your using Linux to begin with? ”

    I rest my case. that kind of approach is excatly the thing that make people stay with crappy MS OS.

    Linux, IMOH, should not be a “programers-only” OS. the point of using linux , for most of computer owners ,is using an alternative to MS OS. not finding the ultimate programing platform, or being a sacrifice for “open-source” crusade.

    Unless linux will provide the tools needed for every day use, and that include Flash and Java, being used on most of the popular websites. i empesize the use of “Popular”. if you wish to be wide-spread, you have to adreess this issue.

    Luckily, there are other people who think like i do, and they, and many others, are working on easy to use linux.

    another small isusse: most people don’t want to program. most of the computer owners are aware to the fact that programing exist, but they do not require it for they dailt life use, and would not use an OS that will demend them to learn how to program. altough this may contradict with the well known fact that “programing is fun, and if you don’t enjoy it, you simply haven’t found you perfect language” i stand behind it.

  5. danarmak says:

    I rest my case.

    Without answering any of my questions…

    the point of using linux , for most of computer owners ,is using an alternative to MS OS.

    And what’s the reason you want an alternative to Windows to begin with? If all you want is Java and Flash, stick to Windows. They work better there than in Linux. In fact I can tell you it’s practically certain that Java and Flash will never work better in Linux than in Windows. So if those are your major apps and you don’t care about freedom or anything else Linux can offer you, sure, stay with Windows.

    You’ll also note that this post was NOT ABOUT TRYING TO CONVINCE ANYONE TO MOVE TO LINUX. I merely mentioned that if all goes well they might want to do so one day in the future, when linux is better for them. Please don’t change the subject anymore because your comments are simply not related to my post.

    Unless linux will provide the tools needed for every day use, and that include Flash and Java, being used on most of the popular websites. i empesize the use of “Popular”. if you wish to be wide-spread, you have to adreess this issue.

    You seem to be confused between “Adobe Flash”, the proprietary Flash interpreter, and the Flash format it supports.

    The former will never work on Linux for the simple reason that it’s not free. (An unsupported, buggy, proprietary binary-only version limited to a single architecture doesn’t count as working.) This is a good thing, because we don’t want all the proprietary ISVs to port their software to Linux without opening it up. If they did, Linux would be no better than Windows. Linux can only be better, in the ways that it is (and might yet become in the future), because it is free.

    The latter is also proprietary, and secret. Adobe only make the Flash specification available under an NDA. It’s not a standard you can just go and implement. And that is the major reason the current free implementation is far from complete. That, and the fact practically noone wants to work on it.

    Different but similar considerations apply to Java and its (incomplete) free implementations.

    Your own approach seems to be saying there can never be reform. We can never take back any mistakes we made. If some really, really bad (in whatever way) program becomes common on Windows then Linux should support it just because it’s common? And if Windows users find it really cool to grant anonymous connections Administrator privileges, and some stupid Windows program that relies on that becomes really common, we should support it too?

  6. danarmak says:

    another small isusse: most people don’t want to program. most of the computer owners are aware to the fact that programing exist, but they do not require it for they dailt life use, and would not use an OS that will demend them to learn how to program.

    Troll. What OS requires you to be able to program in order to use it? Did I suggest making such an OS? Come on, give one example of an OS that behaves like that.

    Hint: using the command line IS NOT PROGRAMMING.

  7. Damian H. says:

    First thing first: in the 2 years I’ve been using Linux I wrote some shell scripts, which I needed for my daily use. In almost 10 years of using Windows, I have never wrote a batch script. Not because I didn’t know how to, in fact, I have more knowledge in batch then in shell, but I felt no need for that.
    But that’s just me. I was forced to work with computers, so I can tell the difference between writing a code and typing “mount –t ntfs /dev/had…”. Which, by the way, is one of the things I find that Linux lack, and I assume you will have some hard time understanding why. The general public considers the very idea of using the “run” on windows to be extremely difficult, to say nothing of using the command line. Is the general public a bunch of brain dead morons? Yes, absolutely. But I never said that they should be taught how to program.

    That brings me to my second point. Both you and Dr. brin, whose original post I haven’t yet read, claim that the main reason that people don’t learn how to program is due to the lack of lingua franca of modern programming. I wish to offer a different point of view.
    IMHO, I someone today wishes to learn how to program, he has a variety of languages available, manuals in many different languages, and compilers that require no greater skill to download and install then let’s say, the latest file sharing program. So the problem can’t be accessibility. Can the problem be lack of exposure? Perhaps. Let’s try to analyze this issue. We will have to divide this to two questions: are people aware to the existence of programming language, and do people want to learn how to program.
    I think that the answer to the first question must be yes. Most people probably wouldn’t recognize the term “LISP” or may be offended if you offered them to learn “BrainFuck”(as I would be, being familiar with it) but surely most people would recognize “C” or “C++”, or even “VB”.
    So we are left with the second question, do people want to learn how to program. I admit, it seems like a stupid question. Of course they want to learn how to program, it is easy and enjoyable. But let us assume that even if it were easy and enjoyable, there still would be some people who wouldn’t want to program. After all, not all people read, although it is easier then programming, and probably as enjoyable. So the question remains, if we would have found a lingua franca, would those people suddenly will want to learn how to program? I say no. I say that most people don’t program because they find it to be a waste of time, completely unnecessary, not to say boring.

    So what can be done? We can try and force everyone to learn the basic of programming, by introducing them to an environment in which you learn not to fear non graphic user interfaces, which will lead to not being afraid of programming. It is pointless to try and find some holy grail that will help the masses to understand that they actually want to program, they simply didn’t know it till now. The masses have a good grasp on what they want, and apparently, programming is not it.

  8. danarmak says:

    Both you and Dr. brin, whose original post I haven’t yet read, claim that the main reason that people don’t learn how to program is due to the lack of lingua franca of modern programming. I wish to offer a different point of view.

    What’s this, an extreme form of Slashdot-esque I-won’t-read-the-actual-article trolling? This is not what Brin says, it’s completely different. And completely wrong. And it’s not what I say either. And if you’re not going to read the article I’m writing about, you shouldn’t be commenting here.

  9. danarmak says:

    In almost 10 years of using Windows, I have never wrote a batch script. Not because I didn’t know how to.

    I’m guessing it’s because Windows batch scripts are practically impossible to write.

    Here’s another dare. Not that I expect you to respond, because you didn’t respond to my earlier requests for proof, but perhas for other readers. Show us Windows batchfile code that does some perfectly ordinary scripting task. Like, say, capturing the output of a command. Or looping over space-separated words contained in a variable. I’m not saying it’s impossible. But it’s difficult enough to have made me ask for help on occasion.

    I can tell the difference between writing a code and typing “mount –t ntfs /dev/had…”

    Yeah, I can tell the difference too. You write code to do something new because existing code doesn’t do it. Which is why you can mount and unmount devices (e.g., USB DOKs) from a Linux GUI (eg KDE) via a fully graphical interface.

    More easily than in Windows, too. When Windows didn’t auto-mount my USB hard disk, I had to manually “assign a drive letter” (in Windows GUI parlance) to it via Computer Management etc. Not something I’d wish on a newbie, not because it’s hard to do physically (it’s all GUI), but because you have to know about it to use it.

    Sure, that’s anecdotal evidence. Most specific examples are. In my experience, modern Linux GUIs are much more intuitive and easy to learn and use for computer newbies than the latest Windows (i.e., XP SP2) – unless you insist that the Linux GUI behave exactly the way Windows does to comfort migrating users. It can’t, because it wants to be better than Windows, which means different.

    We will have to divide this to two questions: are people aware to the existence of programming language, and do people want to learn how to program.
    I think that the answer to the first question must be yes.

    Amazing. I sincerely believe that the huge majority of computer users, the non-technical and usually older majority, have no idea what programming means. They’ve probably heard the word, but it’s on a par with hearing about “hacking” (the being-smart-must-be-illegal meme). They have no actual idea what the word means.

    I can only support it from my personal, and so anecdotal, experience. Can you show proof of your claim that most people do know what programming is on some rudimentary level? What would you consider sufficient here? Elementary algorithmic thinking?

    surely most people would recognize “C” or “C++”, or even “VB”.

    I really think we’re not talking about the same people… The average user I have in mind isn’t sure of the file metaphor, let alone the existence of multiple programming languages!

    I think it’s the case that complete non-tech-savvy computer users outnumber the slightly-computer-savvy users you describe. The latter probably browse the Web a lot more and gather some knowledge that way. I have no numbers to prove my case, do you?

    Everything you wrote below this point is completely opposite to what Brin and I say. It’s trolling. I’ll have to disregard future instances and maybe delete comments if it gets bad. “I haven’t read the article yet but I don’t agree with it and here’s why” is NOT acceptable.

  10. Smudgy says:

    Somehow i missed the point. Probably lost in translation :) Anyway … nice blog to visit.

    cheers, Smudgy!

  11. http://www.starflashdesign.com/
    BEACH FEET ビーチフィート
    ブランド ブーツ専門店 – エミュー ブーツ、エミュー ムートン、emu ムートン、ムートンブーツ emu、エミュー ブーツ 正規品、エミュー ブーツ 2013 秋冬販売中!激安価額♪送料無料!

    http://www.starflashdesign.com/ビーチフィート

%d bloggers like this: