June 16th, 2009
Lately, What Language Is This?, the web-based language identification tool I’m running, has been getting many hits from Tamil-language sources, probably as a result of being covered in two seemingly popular blogs, techintamil.blogspot.com, and tamilnenjam.com. As another blogger pointed out,
Also this service is very good at identifying indic languages (where as many other services fail to understand).
Well, thanks. And yes, I have been making sure that the languages of the Indian subcontinent and its surrounding areas are thoroughly supported for identification.
But two notable languages have been missing, and I finally got around to adding them. Namely the two Dravidian languages Malayalam (not to be confused with Malay, to which it is unrelated) and Kannada (not to be confused with Canada, to which it is unrelated).
Together with the already supported Tamil and Telugu, this means that all four literary Dravidian languages are supported now! I hope this will be of use to many, and I’d like to thank the Dravidian-speaking bloggers for their support in the form of writing about the site.
Tags: improvements, language, language analyzer, projects
Posted in projects | No Comments »
April 13th, 2009
After literally years of gathering materials and many full days of writing work, I’ve finally published my page on technical and business Japanese for software professionals (code monkeys) looking for a job in Japan or already working in Japanese companies or with Japanese clients who want to improve their programming Japanese.
The page consists of basically three main parts: Essential Japanese programming vocabulary, Expressions for communicating technical issues in Japanese (with a Part II), and A look at a Japanese software specification. They’re based on material I’ve gathered during my years working in Japan, mostly in completely disorganized, scattered text files, so collecting and choosing the useful bits of it for this page was more work than it should have been…

Actually, I first got the idea of writing a “Japanese for Programmers” book some time ago when talking with a former colleague. The idea was that there are so many especially Indian software developers working in Japan, but there are as yet no books aimed specifically at this segment, and there should be a huge market.
Anyway, I’m an avid reader of Seth Godin’s blog, and Seth is the guy behind Squidoo as well, so I naturally stumbled upon it. I gave it a go, and it’s actually a really fun and easy way to create modern, stylish, SEO’d web pages without having to bother with the technical issues.
And then in last month’s search queries used to find my site I saw “japanese speaking programming“, and that finally got me going to do something with my Japanese for Programmers idea – I mean people are searching for it, and they’re already finding my site from it (there’s no “Japanese for Programmers” site on the net anyhow!), despite me not specifically covering that topic, so it seems everything falls into place. And thus the Japanese for Programmers Squidoo “lens” was born!
So I hope it’ll get lots of readers and comments. I still have loads more material, so if it gets popular I might do a follow up.
Here’s the URL again:
http://www.squidoo.com/japanese-for-programmers
Tags: books, japanese, language learning, programming, projects, search queries, www
Posted in language learning | 2 Comments »
February 1st, 2009
I got around to implementing a feature I’ve been planning for What Language Is This? today: feedback. Not the comments – that’s been there from the start – but a way of sending immediate feedback on specific results. So that if you disagree with the result, or you know the correct language but it’s not yet supported, just click on “send feedback” that appears with each result, and a simple form pops up that where you can indicate what the problem with that result is.

The entered text can also be sent with the feedback, allowing me to gather more sample texts to use as material for the statistical analysis used as a basis when identifying the language, and for testing (there’s an automatic test feature built in to What Language Is This?, just run selftest() from a JavaScript console on the page and it’ll test all supported languages to check for regressions – very handy when updating the database, since it’s easy to accidentally break some of the fine tuning).
Anyway, I think it’ll be useful, and I hope everyone will use it a lot since it’ll help me improve the site. I’m already getting a lot of useful and encouraging comments so it’s really fun to keep on developing it. For the next update I’ll probably add more languages.
Tags: improvements, language analyzer, projects, testing, web apps
Posted in projects | 2 Comments »
January 27th, 2009
“404 Not Found” pages are pretty cool… I mean, if you have a cool 404 page, no one will ever see it unless something goes wrong, essentially. And there are a lot of cool 404 pages out there on the web – they’re just hard to find.
For that reason, I’ve always thought that I should have a cool 404 page. So one fine day, now more than a year ago (the 20th of October, 2007, to be precise), I took a picture of a road sign for the road numbered 404 in Japan. Interestingly, the location is right between the Imperial Palace and Tokyo Station, at the intersection with road number 1.

You can see the sign from another angle on this Streetview shot. The water you see there is the outer moat of the Imperial Palace, and the big avenue, road number 1, is Hibiya-dori.
So last week I finally got around to putting this up on my site. The 404 page just shows this image as a very low quality (i.e. very high compression) jpeg (same effect as the front page background – I like the look of low quality jpegs), with a random flickering that I think really transmits a feeling of brokenness.
So please go ahead and type in a non-existant url to have a look. Now I guess there are only a few dozen http status codes left to photograph…
Tags: misc, projects, the site, web 1.0, web design
Posted in projects | No Comments »
July 5th, 2008
http://whatlanguageisthis.com/
Since the language analyzer is becoming one of the most used web services that I run, the other day I was thinking that it would be cool get it its own domain (and a .com domain costs just 50 SEK (around 850 yen in normal times) anyway). So I was thinking about what domain name to get – that isn’t already taken – and well, one of the most common search phrases people use to find the language analyzer is “what language is this webpage/blog/text/whatever” and luckily whatlanguageisthis.com was available, so there it is! I think it’s quite easy to remember and very easy to tell people. 4 stars out of 5, perhaps? Pretty good.

Setting up the new site was pretty easy; it’s essentially just a php script that chdirs into the language analyzer directory and continues from there as before.
I also did another nice update: the data file that the app uses to identify the language is now downloaded after the page and all the application javascript files have loaded. That means the page should load much faster, and the user can start reading the instructions or entering text while the data is being downloaded in the background. If the user clicks “Go” before the data file is downloaded, it will stop and wait, while displaying a typical web 2.0-ish loading indicator.
I’m planning to add support for more languages soon, and improve identification of similar-looking languages even further. Anyway, here’s the url for the new site again:
http://whatlanguageisthis.com/
Tags: language analyzer, projects, web apps
Posted in projects | 44 Comments »
May 10th, 2008
Over time I’ve been making some smaller changes to the language analyzer (my language identification web app), like manually tuning it to better distinguish between hard-to-distinguish languages, like the Scandinavian languages, Serbian-Bosnian-Croatian-Slovenian, Afrikaans and Dutch, and Czech and Slovak.
But I’ve been wondering what languages people use it for, so yesterday evening, while drinking shochu (in spite of which I could only find one bug today! but I did write a processing and database-intensive function, n00b style, which I replaced with a single SQL query today…), I added logging of the results. Only when the language identification certainty is reasonably high is it logged, and only the result; the actual text inputted is not sent. This, of course, happens in the background. A language is only logged once per client, and results from clicking the “example” button (Tower of Babel extracts – I like that story) are not logged.
This morning I added the top ranking to the page. It’s generated on the server side in order for the search engines to see it. The top 5 languages for the past seven days are printed. At this time, i.e. about 15 hours after the result logging started, these are Spanish, Korean, Portuguese, and Thai.
You can see the currently most inputted languages live: http://henrikfalck.com/languageanalyzer/
Tags: language analyzer, projects, web apps
Posted in projects | No Comments »
January 27th, 2008
“Have you ever wondered what language a blog entry you glanced at might be in?” was the question I set out to work on more than two years ago, if memory serves me right. I always get curious when I see a blog post in an unknown language. I mean not just a language I don’t speak – a language I can’t identify.

I thought it would be a really hard problem to solve – writing a piece of software that could figure that out. It turned out not to be so hard though. Just hours of programming, and probably a lot of luck. Because my initial hunches on how to tune the algorithms proved to be pretty right, and I was, and still am, really startled at how good the software became.
I released it as the Wørd – Language Analyzer Opera widget. Unfortunately the target audience for Opera widgets is quite small, so I always thought of making it into a web page. I don’t know why it took so long, but here it is!
The web page version has some new, cool improvements. It will try to detect as you’re typing, for instance. It also has improved support for Swedish, Serbian, and Afrikaans. And the UI is in my opinion better than the widget version.
So please try it yourself and see how it works. It’s pretty fun to just copy-paste any piece of text your can find on the Internet into it, or just type something in a language you know yourself and see when it gets it right. Here’s the address again:
http://henrikfalck.com/languageanalyzer/
Tags: language analyzer, projects, web apps, widgets
Posted in projects | 7 Comments »
September 24th, 2007
I tried to fight the urge to make a web-based sudoku, but well I just couldn’t keep it up, so after I released Minesweeper I got started. Actually one of the reasons I wanted to do it was to see how much could be reused from Minesweeper to Sudoku – after all the basics are the same: a grid game field that the player modifies until it reaches a goal configuration.

But there are big differences as well. Where minesweeper starts with a randomly generated field, sudoku requires a puzzle to be correct, i.e. soluble with only one valid solution. The greatest challenge though, is to rate the difficulty of a given puzzle. Fortunately, I found one good program that can both generate and rate puzzles. My Sudoku game has an online database of thousands of puzzles, separated into five difficulty levels. Of course, it also has online high scores, just like Minesweeper.
I’m calling it an “alpha” though, because I actually suck at sudoku, so I can’t really test it myself yet. I’ve invited people whom I know like solving sudoku puzzles to test it, and you’re invited as well! Please add your comments to this blog post, and I will be extremely thankful. Things I’m looking at specifically are:
- Are the difficulty levels correctly rated?
- Are the puzzles “good”?
- How can the interface be improved? I know sudoku software usually has some methods for making notations as you solve the puzzle. The next step will be to add that, but how should they be designed?
- Any improvements you’d like to see.
- Any bugs you find.
So please, start solving those puzzles!
http://henrikfalck.com/sudoku/
Tags: games, projects, sudoku, web apps
Posted in projects | 1 Comment »
August 2nd, 2007
Finally! My Minesweeper game is ready for the web! It’s the classic game in a web 2.0 costume. Why did I do that? when surely it’s been done before. Because I like minesweeper.
Developing this game has taught me one something about the time it can take from prototype to somewhat finished product: Developing the completely playable “offline” prototype version was quick and easy – after all, I developed minesweeper already in high school on my programmable Casio calculator. So I thought it would take about trice the time to finish it, but in the end it took about ten times that time.
One reason for this is the online highscore functionality. But T-rex, online highscores just means keeping a list of the best times on the server and sending it to the client. Yes, but then it wouldn’t take much to figure that all you need to do is type “register_highscore.php?time=0&name=script%20kiddie” into your browser’s address field to get an instant all-time high. So how did I solve that?
The game is played simultaneously on the client (i.e. in the web browser) and on the server (in php). Sweeps are sent at regular intervals to the server, which then plays the same moves and checks the results. So in the end it’s the server that decides that a game is over, how long it took, and whether that’s a new highscore or not. That, ideally, is not so complicated either, but well there are lots of opportunities to make stupid mistakes. (Especially when you’re having a shochu on the rocks while coding (I did it during my vacation).)
The other reason is that it’s hard to make a web app behave like a nifty game. You need graphics, animations, and that kind of stuff that often causes you to run into problems with layout positioning and, most of all, browser inconsistencies. Web browsers just aren’t ideal for making applications yet. (Well, tell me a platform that is, anyway…) The game runs best, as always, in Firefox. Although I admit I haven’t tried IE 6 yet. I’ll tackle that beast tomorrow.
IE 7 works good, though.
I still have a number of features planned that I’ll implement during the coming weeks, but at least now it’s good enough to play. Try and beat my times! Here’s the url again:
http://henrikfalck.com/minesweeper/
Tags: games, minesweeper, programming, projects, web apps
Posted in projects | 5 Comments »
July 15th, 2007
As I mentioned before, I was going to appear at The Days of Web Standards, 2007. And as also mentioned, I was working on an ajax messaging library. I’m sitting here at the Days in Akihabara now, listening to one of the last presentations for the day. There’s quite a lot of people here, and there’s a certain conferency mood in the air. I have the W3C on my left and the Mozilla Corp. on my right. Got some nice Firefox stickers.
I combined the two mentioned matters and did a presentation and demo developing a chat widget using the freshly-released Ajax Messaging Library. Well, it’s in early beta quality with many features planned but not yet implemented, but it works! Even on stage (except for a small bug, hehe). Anyway, it’s out there now! I’ll write more about it later.
P.S. I did the presentation in my socks; my shoes were drenched this morning by Typhoon no. 4.
Tags: cssnite, messagelib, projects, widgets, work, www
Posted in projects, work | No Comments »