Thursday, October 30, 2008

Live Development

Today working on Lighttpd

fit and fit2 - I'm learning Korean! It's a lot of fun, and the teachers are very engaging. I've got my classes to finish up this quarter, so you might think that I am taking on too much. Not so, I am easily distracted, and it's actually a big help to walk around wearing headphones.

Just hope I don't get hit by a car ;)

Step 1: I wanted to be able to edit my code in place. I am coding in Haskell for Axel's Programming Skills class; it's a very interesting functional language, and it can do anything that C can do. In fact, the haskell compilers can actually produce C. You probably want binaries.

Step 2: I was sitting down at a mac and something convinced me to visit a Korean website! This website was produced by a korean; at least he has a korean name. Neither here nor there; I was sitting at a mac, and I was very impressed that when I pasted Korean text into my code, it lived in the terminal! I was using gnome-terminal, forwarded from my irie-eth0.rit.edu ssh host.

Windows is not so easy.

So what happens if I wanted to document my code in Korean? Korean developers can't use Windows! Unless... if it was a web application! So long as they have the correct fonts installed, Korean developers with a web browser could read and edit my code in place.

OK, so they could e-mail me too. But, my phone doesn't handle Korean either... I needed a good project that won't run out of problems, and this was it.

Back to the mac, I started learning on the 2-set keyboard layout. That means consonants are on the left, and vowels are on the right; the top row consonants can be repeated to indicate aspiration. An aspirated consonant is P instead of B; I hope you can hear the difference!

I thought it might be inconvenient to install the Asian keyboard layouts, especially if a system administrator has denied you permission to modify your keymaps. So, this particular system administrator hasn't done it... he hasn't installed the east asian fonts where I can get at them, and he hasn't installed files for complex script (joining) or right-to-left languages.

Those boxes are grayed out.

What does it mean? Even if I can get the fonts, I can't guarantee that my keyboard will send Korean signals to the program input. I need a function to translate english language characters to hangul, and it's not transliteration. Unless... does a tree fall in the forest?

Were you paying attention? I'm saying that the sounds on the Korean keyboard are not in the same place as a QWERTY. They're not illogical, they're just different.

Yes, they're actually stepping on your toes.

1 comment:

yebyen said...

OK, lighttpd is up and running, and forking I/O threads left and right. But, this is still a number of steps far away from a WIKI page in Haskell with support for Korean text. It shouldn't be a big leap from there to producing hangul without a hangul keyboard, but I fear it will be.

The haskellization project: first, we see that we can do Haskell on a web server. For rich web applications, that's not as helpful as it seems; we want to support user interaction with a page such that events are processed with less overhead than it takes to reload a page.

We need malleable text fields. We're going to start with plain old <p> tags, because you really need paragraphs most to format text. I want to click on a paragraph and edit it in place; or, click on an empty space and generate a new paragraph.

Can we do AJAX in haskell?
Can we do Haskell in a web browser?

Yes:
Hajax: is written AJAX support library in Haskell
Yhc_web_service: execute Haskell code online
hpaste: powered by HAppS

I can't believe how quickly I got bored of knapsack problem in HHGTTH... coupled with the fact that it's absolutely ridiculous problem, I mean come on, how many CDs does it take to store a little work in unicode haskell?