Monday, July 28, 2008

Facade for random bits of thoughts

Sometimes I try to, sometimes I pretend to, but a regular routine is just not my life style. I'm rather used to batch processing. I organize my desk when I suddenly find it messy. I go shopping when there's a strong signal, for example pasta or grapefruits juice running out, and end up with way too heavy shopping bags which will do for next several weeks. Well, not adequate to be a good housewife though. But I do dream of patterns in my life. Jogging every morning, grocery shopping every Thursday, cleaning my flat and watering plants twice a week, blogging once a week, etc. Some people seem to feel comfortable and natural at doing so, while it requires conscious efforts for me.
At least for blogging, I just came up with a nice idea. It's a facade. I'd write whenever I feel like. It doesn't need to be in a regular manner. Probably I'd write some bunch of things every three or four months, cause I know that's what I've done so far. But this facade will gracefully hide the broken time line and show only the succession of thoughts, friendly categorized. In this way I could feel more casual at each post, and hopefully write more often. How wonderful.

Monday, June 16, 2008

Joined Goodminton

Just to warm this blog up after a long hibernation. I recently joined Goodminton, a badminton group in Zurich, consisting of various nationalities and professions and ages and such. In fact Friday night is one of my favorite moments of a week. Nothing can feel better than a hot shower after one and half hour badminton. Even more if it's followed by a nice dinner at Italian/Chinese/Asian restaurants. Mmm.

This is my short introduction written for this group. Just a series of things I came up with in several minutes, but hope to convey a slight glimpse of my new life.

- I had practiced badminton to death in my high school, only to get a good mark on P.E. course at first. But after all I started to enjoy it, although I was by inheritance so dumb at every kind of sports. Recently my high school nightmare turned out to be my destiny, leading me to Goodminton :D

- Still new to Zurich, since March. Software engineer working for Google. Living nearby "Wiedikon" :D

- Used to be a heavy drinker following the golden rule of success in Korea, but started to control it with my new carrier in Europe. Oh except last night..

- Often accoladed singer, especially at a karaoke after a bottle of drink to get more nerve. But that's only a story in Korea, it's time to renew the repertory..

- Have long been indulged in Murakami Haruki, but at some point found it like junk food, filled with people who are too indifferent and in a way irresponsible on their own lives. But still can't throw away "Norwegian Wood" from hands. Gloomy, beautiful, reminding story of wandering youths..

- Happened to be a big fan of Star Wars and Doctor Who, simply because of charming actors starring there.. nothing to do with Sci-fi unfortunately.

- Was just a spoiled child who refused to learn a proper chopstick usage. Still am. :P

Wednesday, February 27, 2008

Content matching for my father's toy shopping

After 19-hour journey I've arrived home. Back home, nice. But shortly what I found was my father, indulged in collecting all kinds of gadgets.

Internet shopping has already been a new hobby for him, and an annoying problem for my mother. "They're continuously arriving. It would count more than thirteen or fourteen. none of them is expensive, but I mean, useless!" said my mother. I took a look at the gadgets purchased.

- a wireless optical mouse
- two USB storages
- USB stereo speakers
- a portable speaker to amplify mp3-player-out, for pleasant and social mountain climbing
- a USB cable to transfer data between his mobile and desktop

What's the matter? Totally fine, I thought I didn't need to worry about his new hobby, until I get today's third delivery: it was a cassette-like device which redirects any audio-out to the cassette player of a car audio.


"Father, if you don't want to use your mp3 player with earphones, you can burn a CD, or bring your laptop with the new speakers, or the portable speaker."
"But I want to listen music in my mp3 player with car audio while driving. This one exactly suits my need. Moreover it's very cheap! By the way Auction (a Korean internet shopping mall) is amazing. Whenever I feel "there should be something like this" and search for it, there is always what I'm seeking for. And it recommends similar products very well."
Indeed, this gadget was only about 1 euro, and looked quite cute. But my mother again started nagging at him, now aided by her new weapon raglja. And I couldn't help myself joining it.
"Oh my, maybe we should have not invented search technologies. The industry rigorously developed the content match system, and now it's helping your toy shopping!"

Actually I was pretty surprised; I was impressed with his searching ability as well as the manufacturer of the gadget. I'm just starting to see how the life of "normal" people can be improved by new technologies. :D


For non-slovenian:
This is called raglja. you can make a really loud sound by holding its handle and spinning. It's mostly used for cheering.

I think Slovenia should export it. :D My mother loves it!

* 2008-02-27 23:31 Fixed some typos :)

Monday, February 11, 2008

Enjoying at Zemanta

Okay, it's time to buzz about my exciting life in Ljubljana. I've procrastinated so long.

I'm currently waiting for the start date of my job at Google Zurich. Before going to dive into the cruel professional world - even though it will be more like a pool of colorful balls with stacks of chocolates - I wanted to make an unforgettable memory for my last university vacation. What else could a geek come up with for it? I chose to have a vacation at a startup. :D I've flown to Slovenia and helped my friends at Zemanta ltd for these three weeks, and two following weeks more. Again, thanks to Jure for giving this chance :)

"Zemanta is a new startup that is working on creating a mashable, open-API that suggest to you images, articles, links and tags for your text", cited from its website. I'd like to depict how attractive is being a programmer at Zemanta, in a guest programmer's point of view.

They have a cool technology
I was quite impressed when I got a brief of the whole idea and architecture of Zemanta from Andraz. First of all, in a developer's point of view, it was well-organized and running effectively enough to prove the idea to be promising. I could hardly believe that it was built in such a short time with such a small number of developers. Secondly, the idea has many possible applications. For right now, what you can see in the surface is "merely" a plugin for blogs, yet the same technology can also be applied to enrich your email, for example. Content analysis services will undoubtedly be a hot trend for a long time, and there will be more and more needs for it. Zemanta's road map is up to imagination, and their imagination is still growing.

They know how to do business
Luckily, I could accompany with Zemanta guys at several occasions such as PASCAL Pump Priming or Barcamp. Whenever they are asked to say some impression, they shrug their shoulder. "Well, didn't find anything interesting." I know it's not a brag or pride. Pump Priming was a serious and knowledgeable conference, but just not a place to connect the researches with entrepreneurship. Barcamp was very fun to me, but it was basically hackers' offline party.
At the Barcamp, Zemanta guys were addressing how to do a startup. Yes, they seem to know how to beat a business. They began from an idea, applied it to a website of Slovenian TV, and won Seedcamp which backs very early stage business ideas. Funded by the Seedcamp, they've busily visited many Web conferences over Europe. Now they are in the end of the first VC investment stage, and stepping towards to the next investor.

Every moment is challenging
Zemanta office is now busy at preparing for the open in March. A lot is happening. Bad news first. One of new servers shipped from London didn't work, so we had to send it back. The cloud computing service we're using is revealing lots of problems, but unfortunately other services are no different for this moment. There was a blog indexing service which seemed to be suitable for our purpose, but we gave it up cause it didn't provide all functionalities we need. If the story is going in this way, it's no surprise at all even if you have to implement some workaround due to the limitation of Django or bugs of MySQL...
Now good news. A company which has the most popular blog platforms proposed to integrate Zemanta with their services. We'll see how it's going. Bostjan and Ales came back from demo.com conference in California. They met many people and got many feedbacks. And they met a person who knows a person who made flickr, hoping to find a way to pour the great deal of pictures of flickr into the Zemanta engine.

Hilarious people, delicious jedi
I love the lunch time with these fun guys :D The talk is usually about current IT issues, and news of other services, and of course daily lives. Traditional Slovenian foods are really worth to try. Maybe I'll blog about this with pictures later. Of course, neither Anakin nor Obiwan I eat. The word "jedi" in Slovenian means "food" :)

Monday, February 04, 2008

BarCamp Senza Confini 2008, Klagenfurt

Last Saturday, I've been BarCamp Senza Confini 2008, held in Klagenfurt, Austria. It was really fun time! (with liters of orange juice in my stomach :P) Here is my impression about some sessions.

Opening Session
All participants had a short time to introduce themselves. If you remember, I'm the girl from Korea. ;) I'm currently at Zemanta in Ljubljana, Slovenia.

1. Distributed Source Control Management
This talk was introducing Mercurial, a distributed version control system. It is already adopted to ongoing projects. The basic idea is having a local repository on every contributor's system, instead of a centralized server. The benefits from the local repository is 1) to enable offline commit 2) to make it easy to maintain branches, cause every set is now a branch.
It was quite tempting that it's possible to work offline. Yet the control for revisions and heads looked so complicated. For example, when you talk about a specific change set with other people, you should refer to its hash value, not the revision. This different concept of the revision may cause a confusion to users from other version control systems.

2. Is there Internet in North Korea?
First, it was a surprise for me. I didn't expect I'd watch a presentation about North Korea here, in Europe.. :)
The presenter, Stefan Jäger, has been North Korea as a journalist. He draw quite a realistic sketch of the strictly controlled and regulated media in North Korea, and the statistics and episodes which he gave were interesting.
As a Korean, though, I think that it would've been more interesting if he had more focused on the Internet. I could fully understand what a strange(and scary) media system NK has, and there was no exaggeration in his episodes, but what I wanted to know was how the North Korean uses the Internet. According to Stefan, even though it's more like an Intranet than Internet, there are many websites such as news and chatting services. Of course only a few people can access the real Internet outside. Stefan said the speed of Internet was so poor. Ah, an interesting information from him. The server of the official site is located in Berlin.
In fact, there were some attempts to include NK's own euc-kp encoding to Mozilla (I can't find the article in English.. an old discussion about this issue in a South Korean forum). It means at least the developers are using Mozilla, and other users of a limited number might also be using Mozilla browser, like us. At the old discussion, South Koreans worried that the trend is towards Unicode so it's not a good idea to support euc-**, but there was no way to convey this opinion, of course.
I've found a few more interesting factors, for example, they have their own copyright so-called "copyright Juche". :D But I'd rather not say furthermore, cause accessing North Korean websites is still forbidden to South Koreans. :(

3. Wikipedia Introduction
As the title is saying, this presentation mostly gave introductory facts about Wikipedia. But there was an interesting discussion about the current limitation of Wikipedia. Wikipedia is not well-designed for multimedia, and it has quite unfriendly user interfaces. One participant gave a nice example: Suppose that a great biologist found a wrong fact in Wikipedia while surfing. The biologist wanted to fix it but couldn't make it, because the interface was too hard for a non-geek person to use.
The problem is the organization for Wikipedia has very limited resources. It's shocking that only 8-10 persons are maintaining Wikipedia, when considering the fact that a lot of researchers and mash-up services rely on Wikipedia..
The presentation expected the future of wikipedia to get broader: to open publishing, free scientific contents.

4. Building a semantic-driven startup: Zemanta

Zemanta is a new startup that is working on creating a mashable, open-API that suggest to you images, articles, links and tags for your text.
Even though I've been working, talking, and eating at Zemanta for two weeks, there were still more interesting stories. Jure and Andraz gave useful messages for new startups. A few messages that I remember:

- Talk to as many people as possible. People don't steal your idea.
- Go to conferences. Prove your ability.

Okay, these might seem trivial in written, but the difference is that they gave their real live examples, with a brief history of the dynamic last 6 months. It's beyond my ability to transfer that feeling.

I'll write about Zemanta in detail later, from a guest programmer's point of view. :D

5. Lightning Session
I liked the format, up to 5 minutes talk of ten people. It was fast and inspiring.

- Xobni looks into your emails and helps you to keep in touch with people. Actually I had a similar idea about this before. What I was thinking was a program to check MSN logs and recommend someone who will possibly buy you a lunch today.. (not similar? :D)

- When you go somewhere another country, you might look up Couch Surfing to find a place to stay for a while, and to meet nice local people. Just prepare open-mind to share different culture.

- Let's think about Green IT!


On 1st February, there was FutureCamp in Seoul, Korea. I couldn't visit there, of course, but I would guess it must've been also an attractive event, from 140 people on the waiting list. :)

Thursday, February 08, 2007

JWiimote

About the last post, it has been going slowly but anyhow. After almost drowning myself in Windows DDK, I have succeeded to make a Java library which communicates with a Wiimote. I've already named it: JWiimote :)

Instead of using the Pascal source mentioned before, I wrote a C driver dealing with a Wiimote as a HID device, and connected it with Java by JNI. Indeed it works fine! Now it can read button presses, not the motion or IR yet. I'm now trying to enable it to read those data as well.

The virtue of JWiimote is that I, and hopefully many other people who want to develop a Java application for Wiimotes in Windows, don't need to bother themselves by seeking for any working JSR-82 implementation or rather another bluetooth dongle. (In my case, I couldn't find any working JSR-82 implementation for my bluetooth dongle.) I guess there are not many bluetooth dongles which support MS Bluetooth stack. Thus JWiimote could benefit many people if it goes well.

I'm planning to open my source in the very near future. Perhaps following LGPL. For the first step I opened a project page. Yeah!
You might find more detail about JWiimote here: http://code.google.com/p/jwiimote/

Sunday, January 28, 2007

Wiimote and Java

These few days I was trying to hack an Wiimote, the cool remote controller for Wii. If you're not familiar with this, here is a nice passionate community about it: Wiili

Anyway, my development environment consists of:

  • one wiimote
  • one bluetooth dongle (intuix) supported by BlueSoleil
  • WindowsXP SP2 (mainly) / Debian Linux (nothing done here yet)
Since I wanted to use 'processing' to play with the Wiimote, I've worked for a Java-related platform. The starting point was to find a good and preferably free implementation of Java Bluetooth stack. And I had to face the following problems
  • BlueCove: This cannot get a proper local device address of my dongle. It just says 000000000000. According to several articles,
  • avetana: This says "No supported stack installed or no dongle available". I guess it's because I couldn't put the address of my dongle correctly when I've got the free demo of avetana. The address of my dongle is 10:11:11:11:11:11(or 11:11:11:11:11:11), and with this address I cannot download avetana.
In sum, I couldn't manage to get any JSR-82 implementation working with my dongle. I was about to give up my dongle and order another dongle which supports MS Bluetooth drivers. But I couldn't. Because it still works in other programming languages!
  • I took a look at other programs at Wiili, such as DarwiinRemote(for OS X) and Wiinmote(for XP). Afterwards I found that Wiinmote, in Delphi(precisely in Pascal), uses a library named HID controller. This HID controller basically uses PnP devices. That means, this Wiinmote just considers my Wiimote as a general PnP device. And it works perfectly!
What I'm wondering now is if I can get around seeking for any JSR-82 implementation by using PnP communication, for example. Probably the easiest way is just buying a new Bluetooth dongle from a well-known brand, in the list above. But... I don't like it. :( I mean, my dongle is still working very well in other languages. Why not Java? Should I really compile the HID controller into DLL and connect it with Java by JNI?