Archive for July, 2006

Compressing a compressed video using AutoGK etc

2006 July 29

Word dump: 大阪恋の歌 – 10:02 PM 7/28/2006

This word dump is from 大阪恋の歌 by モーニング娘。 (Osaka Koi no Uta by Morning Musume).

Osaka Koi no Uta

Osaka Koi no Uta

Kanji Kana English
とぎれる to be interrupted
マーク mark
はなればなれ separate
えんきょり long distance
むり impossible
ぎゅっと tight(ly)
じゅんじょう naivete
どうして why?
おわり the end
しかたない it can’t be helped
話し はなし conversation
すごい wonderful
とろける to be enchanted with
せりふ words
まったり laid-back (lifestyle)
かこけい past tense
じまん pride
おどろかす to surprise
ちょっとした trifling
いたずら prank
きょり distance
とおすぎる to be too far
もう already

The statistics:

  • Previous “average new words/song”: 16
  • New words in this song: 23
  • New “average new words/song”: 19.5
  • Total words in word list: 1217

Google Trends – 9:27 AM 7/28/2006

Google Trends (http://www.google.com/trends) is a cool service from Google. Basically, you separate several search terms with commas (for example “Ubuntu, Kubuntu”) and Google will then show a graph showing time vs search volume of each search term. By looking at the graph, we can get a rough idea which term is searched more often.

Here are some samples:

From TXT to HTML – 10:20 PM 7/27/2006

The file I use to write blogs ofline is “boab.txt”. However, since the content inside is really HTML, I renamed it to “boab.html”.

Now when Notepad++ opens it, syntax highlighting and auto tag closing will automatically be on. (previously I need to manually set the language to HTML from the “Language” menu)

Compressing a compressed video using AutoGK – 10:33 PM 7/24/2006

PVs lurking on my drive take quite a lot of space. Recompressing them will certainly free some space at the expense of quality. I currently don’t have a need for it, but because I was curious about the quality decline I tried compressing one of them to 20 MB and 10 MB.

So I fired AutoGK, an XviD/DivX encoding tool. I first found AutoGK when trying to encode an MPEG2 file to XviD/DivX (somehow MPEG2 files seek badly on my media players). The tutorial that came with the installation was very handy.

AutoGK

For the test I used “Ai Araba IT’S ALL RIGHT” which is around 111 MB. The procedure is basically to choose an input file, define the output file name, and choose the desired size. Because I didn’t want AutoGK to choose the output resolution, I clicked the “Advanced Settings” button and defined the image width myself (I chose the “fixed width” option and gave it the same value as the original file which was 640).

After some processor hums, the output file was created (along with some quite large temporary files in the “agk_tmp” folder). The output file sizes were 22.7 MB (quite close to the requested 20 MB) and 17.8 MB (10 MB is just not possible). Some images for comparison (original width is 640 px but I resized them to 450 px to fit on this blog’s layout):

Ai Araba IT'S ALL RIGHT
111 MB

Ai Araba IT'S ALL RIGHT
22.7 MB

Ai Araba IT'S ALL RIGHT
17.8 MB

Ai Araba IT'S ALL RIGHT
111 MB

Ai Araba IT'S ALL RIGHT
22.7 MB

Ai Araba IT'S ALL RIGHT
17.8 MB

The quality difference is significant but I’m still quite amazed that the 17.8 MB version is still intelligible. 6.5 MB is actually used for the audio stream, so if the audio bit rate is tuned down a smaller file size can be achieved (AutoGK can do it). Choosing a lower resolution will also make smaller file sizes possible.

What will the size of the image data be if the video consist of uncompressed bitmaps? The resolution is 640 px * 320 px. The duration is 4:44 and the frame rate is 30 fps. Using 24 bits per pixel, the size will be (4 + 44/60) min * 60 (sec / min) * 30 (frame / sec) * (640 * 320) (px / frame) * 24 (bit / px) = 41877504000 bit = 5234688000 byte (around 4.9 GB).

Murphy’s Law – 10:07 PM 7/22/2006

Murphy’s Law is a famous law in engineering that basically means “if something bad can happen, it WILL happen”. It is supposed to warn engineers not to dismiss potential breakdowns. However it can also be applied to daily life.

Example 1: My friend put a glass of tea near a laptop. What bad things could possibly happen? Well, the glass could be tipped off accidentaly. Murphy’s law states that it WILL happen (if not to him, to other people on the same situation). Well, it DID happen to my friend (eventhough the water splashed the laptop, luckily the laptop wasn’t broken). Moral: don’t put a glass near electronics because there is a possibility that the water will spill.

Example 2: I put a CD on my lap while doing other things. What bad things could possibly happen? The CD could fall. Murphy’s law states that it WILL happen (if not to me, to other people on the same situation). It happened to me. Moral: don’t put fragile stuffs on your lap.

Example 3: I ran towards a short solid fence to talk to someone across (actually to order food), and bumped myself to the fence. What bad things could possibly happen? Well, there could be some sharp stuffs on the fence. In my case, there was a nail and it hit me! Moral: don’t bump yourself to fences, walls, etc (what’s the use of it anyway?).

So, if there’s two way of doing something and it differs in safety, choose the safer one even though it might be slightly more inconvenient.

Word Dump: 晴れ雨のちスキ

2006 July 22

After a very long pause, it’s time for another word dump! The song is 晴れ雨のちスキ by モーニング娘。さくら組 (Hare Ame Nochi Suki by Morning Musume Sakura Gumi). Screenshots:

Yossui in Hare Ame Nochi Suki

Sakura Gumi in Hare Ame Nochi Suki

Here are the 16 words I harvested:

Kanji Kana English
のち afterwards
まど window
わざと on purpose
うそ lie
あそぶ to play
かな I wonder
しょっぱい stingy
通り雨 とおりあめ shower
せがむ to badger (pester) (a person to do)
けいたい mobile telephone (abbr)
ざつだん chatting
かわる to take turns
ふう way
とか such things as
もん question
明日 あした tomorrow

So now my word count is 1194.

Starting now I’m going to track the average number of new words per song. Obviously currently the value is 16. Ideally, as time goes on the value approaches 0.

How to get CakePHP up and running on Windows etc

2006 July 19

This post has been moved to singularity.agronesia.net: “How to get CakePHP up and running on Windows etc”. Please visit the new server.

Windows reinstall gone awfully wrong etc

2006 July 15

Windows reinstall gone awfully wrong – 11:00 PM 7/14/2006

On 11th I reinstalled Windows. As usual, the first step was to move important stuffs from drive C because I planned to reformat the drive. The things I copied, among others, was the Mnemosyne files (located on “C:\Documents and Settings\[user]\.mnemosyne”), my desktop (I actually didn’t show any icons on the desktop but I was too lazy to determine whether the files in it could be deleted), the YIC ladder code, and Moyo Go Studio (didn’t want to bring my hard disk to a friend that has a DVD drive to reinstall). For MGS, I also exported all related registry entries (just search for the term “moyo” and then intelligently pick the relevant ones).

Then I restarted the computer and booted into the SP2-slipstreamed Windows XP installation CD. Thing went fine up up to the partition list.

The setup asked for a partition to install Windows. I planned to use the first partition and reformat it before installing Windows. Since the partition is already formatted and I wasn’t sure wheter Windows will ask me to reformat it, I decided to delete the first partition (with the intention of later creating it and format it).

PS: It turns out that Windows will indeed ask to reformat an existing formatted partition. Therefore deleting and then recreating the partition is completely unnessesary.

When I then chose the empty space to install Windows, the setup said something along the lines of “Cannot create a partition because the maximum amount of partition has been reached”. The same message appeared when I explicitly pressed the button to create a partition on the empty space. Since I couldn’t continue the setup, I restarted the computer, hoping that this is just the installer’s stupidity and hoping that Ubuntu will be able to recreate the deleted partition. Of course an unexpected error on low level stuffs like this made me quite worried.

But the OS list didn’t appear. Instead I was greeted with a primitive GRUB console. Since I didn’t know GRUB, I tried booting into my shiny Dapper Desktop CD.

The CD booted fine but my NTFS and FAT32 partitions wasn’t listed on the desktop like last time. When I ran “gksudo gparted”, it displayed that my whole drive is unpartitioned! Hoping that gparted was wrong, I tried “fdisk -l /dev/hda” and it spat an error message along the lines of “Cannot access /dev/hda”. I was now really sure that all my data had been lost!

PS: It turns out that to do and fdisk you need administrative previledge. Try “sudo fdisk -l /dev/hda”

To do a final check, I rebooted back into the Windows installation CD. I was very relieved to see that my other partitions are still listed. So, there is hope that another Windows machine will be able to salvage my data.

I then went to Toni’s place. My partitions and the files inside are indeed readable. However Window’s disk management showed that my 80 GB hard disk became 100 GB!

My hard disk grows to 100 GB!

Creating a new partition can still not be done there. Partition magic even showed the same as Ubuntu’s gparted: my drive is unpartitioned. Using Toni’s drive as a transit for my data is impossible technically, so I went home…

To be continued…

Messy arithmetic – 8:32 PM 7/11/2006

For breakfast, I eat 3 loaves of bread. Nothing beats its cheap price and simplicity.

When I buy them, I try to find the one with the latest expiry date or equivalently the lastest production date. I went to Mirota Kampus today to replenish my stock, and I noticed that the bread produced at 9th expires at 13th. However the bread produced at 11th (+2 days) expires at 14th (+1 day). Bizzare.

KKN etc

2006 July 11

Real and integer – 7:12 PM 7/9/2006

In C, there is the data type “int” and “float”. When I met Pascal in university, I realized that the same data types are named “integer” and “real”, respectively. I hated those names because “integer” couldn’t actually represent all integers and “real” couldn’t actually cover all real numbers.

But that’s all just nitpicking, because then I couldn’t use the name Complex to model complex numbers, Point to model points in a plane, etc.

PHP 5 number parsing inconsistency – 7:08 PM 7/9/2006

Try entering a very large number in decimal (for example a hell lot of 9s). The number will be float(INF) (infinity).

However if you enter a very large number in hex (for example 0x followed by a hell lot of 9s) the number will be int(2147483647) which is the largest possible integer in PHP.

PHP 5 integer limit quirk – 6:55 PM 7/9/2006

In my machine’s PHP 5, the statement

<?php var_dump(0x7fffffff) ?>

outputs

int(2147483647)

while the statement

<?php var_dump(0x80000000) ?>

outputs

float(2147483648)

This hints that integers in PHP is 32 bit so the lower limit should be -0x80000000 or -2147483648. The silly thing is that

<?php var_dump(-0x7fffffff - 1) ?>

outputs

int(-2147483648)

as expected. However

<?php var_dump(-0x80000000) ?>

outputs

float(-2147483648)

which is pretty funny, since the previous output shows that technically the number fits into an integer. This is probably an intended feature to make the parsing quicker.

KKN – 8:43 PM 7/8/2006

So, what’s KKN like?

In regular KKN, we are assigned a random team and place. I’m taking thematic KKN, so the team and place is designed by the participants.

My KKN’s theme is something along the lines of “Optimalisasi Penggunaan TI” and the place is at Keparakan. I’m on the developer team (the others are “maintenance” and “socialization & migration”), and the main program is to make a disaster management system.

My workplace is at BID (Badan Informasi Daerah, Regional Information Office). Typically, I bike with Dimaz and Toni to get there and to get home. We leave around 8:30, arrive around 9:00, and get back home around 15:00. A nice activity to balance my lack of physical exercise.

There are currently 6 computers on the developer’s room. Because there are 6 developers, most of the time the leftovers aren’t doing something productive. There’s a plan to relocate 5 of the developers to another office (LTI) which has 5 spare computers.

We’re going to build the system using CakePHP, a web development framework using (guess..) PHP.

2 days using a 2.1 speaker etc

2006 July 8

2 days using a 2.1 speaker – 5:28 PM 7/7/2006

I usually hear sounds from my sound card using a headphone. I have a speaker, but the sound quality is awful. It is cracky, for a lack of better word.

For some reason, yesterday I decided to buy a speaker. I visited Resentika Computer after KKN to buy it. There were three alternatives: a cheapo 20k speaker which seems to be the same as my free (as in beer) speaker, a 35k Mentari speaker which seems to be better, and a 53k Sturdy speaker which has a left, right, and subwoofer speaker. After comparing the sound quality and looking at my wallet, I decided to buy the 2.1 Sturdy speaker.

Sturdy is its brand, and a “MADE IN CHINA” was printed of the box. Must be some randomly named company mass producing cheap electronics. Well, at least it is a lot better than my current speaker. Big names like Logitech and Altec Lansing is out of my reach.

Installing it is simple. First you plug the power which stems from the subwoofer. Then you connect the subwoofer to the sound card using the provided cable. The last one is to plug the cable from the left/right speakers to the subwoofer. An extra bonus is that the subwoofer has another hole for a headphone. When a headphone (or any other device) is plugged there, the sound output is completely redirected to the external device.

When the time came to position the speakers, an immediate problem is to identify the left and right speakers. As I thought, there was no indication on the speakers, an obvious usability minus. So I played an MP3 and opened Windows volume control. Windows volume control had a left/right balance slider. I tried sliding it to the extreme left and then to the extreme right.

A problem was immediately obvious. When the slider was on the extreme left, no sound came out. When the slider was on the extreme right, both speakers still emitted sound. There was no problem whatsoever with my headphone and even my free speaker in this matter.

I also loaded Moyo Go Studio. In MGS, a stone placed on the right side will really emit sound from the right. However with the Sturdy speaker, I couldn’t get the illusion.

It turned out that the culprit was the subwoofer unit. If I plugged the left/right speakers directly to the sound card, they would work correctly. If I plugged my headphone and free speaker to the external hole on the subwoofer, left/right balance didn’t work. It seemed that the subwoofer transformed a stereo audio into a mono one.

So the next day, also after KKN, I went to Resentika again. I described the steps to reproduce the bug (feature?) and the bug faithfully appeared. The technician proceeded to get 3 other units from the back and as I had expected, they all didn’t work. It was a feature after all.

To give the idea to the technician the correct behavior, I asked him to take another brand. He took the cheapest speaker and it worked like wonder.

When I asked for a return, the technician pointed me to a lady. I told him about the problem and the lady discussed this with other staffs.

The lady then told me that I need to pay a fee because I didn’t return the item on the same day that I bought it. I told her it was impossible since I bought the item just before the store was closing. She then told me that I should’ve returned the item this morning because then she could discuss it with upper management guys. I told her that I couldn’t do it because I had KKN. When she showed me that there is a “GOODS CANNOT BE RETURNED AFTER BOUGHT” on the receipt, I argued that my case is different because I bought a broken product. Finally, I told her that I was a customer there (I bought my printer and cartridges there) and if she still insists on making me pay a fee, I would stop going there and tell my friends that Resentika’s customer service is bad.

Customer power worked well. After more discussions with other staffs, she handed me a return form and finally the money (if there’s a return form, what’s witht the “GOODS CANNOT BE RETURNED AFTER BOUGHT” notice?).

So there it goes… I am now back with my headphone, free speaker, and 53k. Don’t buy a Sturdy speaker, they can’t do stereo.

God bless Notepad++ – 5:25 PM 7/7/2006

If I set the language settings of Notepad++ to HTML then activate the “Plugins” – “TextFX Settings” – “+Autoclose XHTML/XML <Tag>”, Notepad will do autoclosing of tags like <p> and <h>! This feature is very handy because this blog is written in HTML.

Image size limitation on WordPress – 11:11 PM 7/4/2006

Using the current WordPress theme, if I post an image with a horizontal size larger than 450, the image will be scaled so that the horizontal size is exactly 450. This produces horrible-looking images because browsers don’t use any kind of filtering to resize the image. I’m really puzzled, is it really that performance demanding to resize images using a decent filtering? I’m going to visit Firefox’s bugzilla.

PS: Bugzilla sucks. I like Malone a whole lot more (Malone is the bug tracker of Launchpad, used for Ubuntu development).

So, for the meantime, I need to always remind myself to limit the horizontal size of the images I post on this blog.

PS2: MediaWiki has a very cool server-side image resising. Examples:

Analyze the URLs of the above images to understand what I mean.

Moyo Go Studio translation done etc

2006 July 4

BOAB naming convention – 4:13 PM 7/3/2006

Since the “BOAB”, “Another BOAB”, “Yet another BOAB” naming scheme sucks, I decided to change the naming scheme. The naming scheme will be “[The most insteresting BOAB] etc”, for example “I won a 10 million lottery etc”

Moyo Go Studio translation done – 3:30 PM 7/3/2006

I think the translation (784 strings) has passed sufficient quality control to be released to the wild. Some translation and naming issues that were brought to light:

  • How should menu items be capitalized? “Add Games”, “Add games”, “add games”, or, God forbid, “ADD GAMES”? I chose to capitalize the start of every word, except for some particles like “and”. The English strings aren’t consistent in this matter (for example “Add games” vs. “Save Board Capture As”).
  • Which brings us to the next question: What words are immune to capitalization? “and”, “or”, “in”, “on”… What else? I chose to not capitalize “not” (“tidak”). Is it appropriate? There must be a guideline somewhere…
  • If a menu item contains an explanation in parentheses, how should it be capitalized? An example is “Result (fast, inaccurate)”. I chose to capitalize the explanation also. Is it overcapitalizing?
  • What is the criteria to give ellipsis (…) to a menu item? I read on a usability article somewhere that ellipsis should be used on a menu item that prompts the user for more information before being able to execute the intended action. For example, “Save As…” should use ellipsis because the program will prompt the user for the file name before being able to save. “About” shouldn’t use ellipsis because it directly does the intended action which is displaying the about dialog. I follow this guideline. Some English strings violate this guideline, for example “Search” and “About…”. (Almost every Windows program use ellipsis for the “About” menu item)
  • A convention I don’t like is that the English strings append the ellipsis in the msgid. I prefer that the ellipsis be added at run time when building the UI. What problem does the current practise pose? Here’s one example: There is the msgid “Search”, which is used in the “Database” – “Search” menu. It really should be “Search…”, so I translated it as “Cari…”. It turns out that the msgid “Search” is used on places other than the menu (for example on the button on the dialog of “Database” – “Search”) and in those other places the ellipsis isn’t appropriate.
  • How should one capitalize tooltips? “Back up and take other variation” or “Back Up and Take Other Variation”? I prefer to capitalize only the first letter of the first word.
  • Should tooltips end with a dot? “Back up and take other variation” or “Back up and take other variation.”? Things get messy when a tooltip contain 2 sentences. I prefer to omit the dot for single-sentenced tooltips while use dots for multiple-sentenced tooltips. There are inconsistencies in the English Moyo Go Studio (For example “Move trough current variation.” vs. “Board perspective”).
  • The translation of a single English word can be multiple words, in which the problem of capitalization arises again. For example, should “Handicap” be translated as “Batu bantu” or “Batu Bantu”? The translator must check where the string will be used to determine the correct capitalization (by running the program and hunting for the string). A serious problem occurs when the string is used in 2 places with different capitalization requirements.

With those problems, it is impossible to create an Indonesian translation that consistently adheres to a good UI naming guideline. Therefore, some compromises must be made. I chose to make the menu perfect even if that means inconsistencies on other places.

I’ll give an example of the inconsistency that arises. Menu capitalization dictates that it is “Langkah Baik”, not “Langkah baik”. Sadly, a tooltip uses the exact same string. Because tooltips are supposed to use a different capitalization rule, the tooltip violates the rule.

My idea is that words in the msgstr should be lowercased except for proper names (which starts with an uppercase), and then the program will call an appropriate method to build the final string. For example:

string menuString = MakeMenuString(GetString(msgid));
string tooltipString = MakeTooltipString(GetString(msgid));

An alternative is to have multiple msgids for the same word which is used in different places. For example:

msgid "menu-handicap"
msgstr "Handicap"

msgid "tooltip-handicap"
msgstr "Handicap"

I envy languages without uppercase/lowercase mess, like Arabic, Japanese (カタカナはuppercaseじゃない), Korean, and Chinese.

I mentioned many inconsistencies of Moyo Go Studio’s English strings. However, I believe that string consistency is generally an underworked area in many other software projects. For example, Notepad++, the software I use to write this blog entry, also has many inconsistencies in its strings.

Other than string consistency (or the lack of), another area where Moyo Go Studio sucks is in its window layouting system. Widgets in its dialogs have fixed coordinate and size, so problems like this arise:

With the availability of toolkits like GTK, hardcoding coordinates and sizes is oh so outdated. It is as obsolete as hardcoding the time cycle of old games to clock frequecies (try playing Sonic 3 on a modern computer and you’ll see what I mean).

Moyo Go Studio sucks on at least one other thing: It can’t change language on run time (need to restart the program). Even my (+Wijaya and Karnan) LifeSimulator can do it :)! Hmm, as far as I remember, even SmartGo can do it 🙂 (tried the time-limited trial version).

Wait, I found another area where MGS sucks: It doesn’t run on Linux (Frank stated clearly that he’s running a Windows software shop so no chance of this happening soon). It would be cool if MGS has a GUI-less server version mode or a library of its core with usage documentation (easier to port), so other people could write a Linux client.

How good is Moyo Go Studio as a Go Suite? I’ll probably write a full review some time in the future after I’ve become more familiar with the beast and if I have free time. My first impression is that it is a superb Go study tool lacking some UI polish. However don’t let this blog entry discourage you to buy MGS because the problems mentioned probably won’t bother your daily use and because it will certainly be fixed in the future (after the kickass tactical module project?). Moyo Go Studio is definitely worth your $$ (or time, if you plan to translate it)!

UPDATE: I told Frank about this blog entry. Some days later, on July 7, Frank released an update that adds an extra space to the problematic widgets. That workaround made my Indonesian translation look fine.

TK II done! – 12:27 PM 7/3/2006

At last I finished the TK II! I’ve given the report and CD to an Ilkom office staff which will hopefully be passed to Pak Medi.

My TK II was about making SharpJiten, a kanji dictionary written in C# which uses GTK# for the GUI and KANJIDIC for the dictionary. Here’s a screenshot:

Some last remarks:

  • I can’t get GTK# for .NET working. Therefore I opted to bundle Mono in the CD.
  • IconView is a terribly slow widget. Give it 200 items to draw and it will choke. A workaround is to divide the items into separate pages but I didn’t implement it.

A page, which contains SharpJiten’s description, installation method, source code, and TK II report can be found at http://agro.web.ugm.ac.id/sharpjiten.

Since the TK II is done, now I need to finish my other duty: translating Moyo Go Studio.

PS: One flaw in the hardcopy of the report is that page 12 and 13 is flipped!!!

Early month shopping – 9:12 PM 7/2/2006

Phenomenon: There are many people shopping early at the month (1st or 2nd day). Queues are extremely long.

Hypothesis: People just got their salary.

Explorer/Windows file name limitations – 10:17 PM 7/1/2006

In Windows Explorer, we can’t rename a file to “prn”, “con”, “com0” – “com9”, “lpt0” – “lpt9″, and only God knows what else. That’s because in the Windows world (which originated from the DOS world”, those names are special names used to address some devices. For example, “prn” refers to the printer (Which printer? Probably the primary one.) and “con” refers to the console. Turn on your printer (if you have any) and try this command:

copy con prn

You will effectively have a typewriter.

PS: How did I know it? Remembered it from my old DOS times… In those days, tricks like “copy con config.sys” is commonly cited.

That system itself is inferior to Linux. In Linux, devices are files in the /dev directory so you won’t have artificial file name limitations.

But if that’s the limitation of the lower system, I can accept that Explorer don’t allow it. However, what’s confusing is that Explorer won’t give any explanation for this behavior. Instead, when renaming files to one of those names, it will set the file to the previous name.

Next case. NTFS and FAT32 support file names that start with a dot (for example “.bashrc”). As a proof, try:

echo > .test

And a file with the name “.test” will appear.

However, try making a file in Explorer that starts with a dot and Explorer will say “You must type a file name”. Silly.

Another one. NTFS and FAT32 also support file names that start with a space (for example ” foo”), as long as it is followed by a non-space character. As a proof, try:

echo > " foo"

However, when renaming files using Explorer, it will remove the leading space.

I don’t know whether this is the limitation of NTFS and FAT32, but I can’t find a way to make file names that ends with a dot (like “crhsab.”) and file names that ends with a space (like “foo “).

I’ll test all those in ext3. As an evil hack, I’ll try creating the illegal files on a FAT32 partition under Linux >:).

Another BOAB

2006 July 1

Dying Windows – 10:12 PM 6/30/2006

My Windows installation is starting to choke badly. Some of the annoying things:

  • Disk management using GUI is awfully slow. This is using any file manager.
  • Closed programs remain on the process list (in other words, they’re still running.
  • Programs randomly eat 99% CPU cycle. When the program is terminated forcefully, other program foolishly assumed the CPU killing job.

I’ll probably reinstall after finishing the TK2 report.

Morning breeze – 6:51 AM 6/30/2006

The cold morning chills me to the bones. Is that why I fear it so much? I have not felt it for ages so that the pain is almost like an exciting thrill.

The SRT subtitle format – 9:38 PM 6/27/2006

Making a subtitle using the SRT format is very easy. The example below is self-explanatory:

1
00:00:02.849 --> 00:00:05.348
JUMP JUMP take offしようぜ!
JUMP JUMP take off shiyouze!

2
00:00:05.400 --> 00:00:08.321
天使の羽を持っている
tenshi no hane wo motteiru

3
00:00:08.309 --> 00:00:11.600
見上げれば 未来
miagereba mirai

4
00:00:11.750 --> 00:00:14.783
Boys & Girls! Be Ambitious!

Some things to note:

  • The file should be saved using the srt extension. Saving in UTF-8 works.
  • The time format MUST be HH:MM:SS.SSS. For example 00:00:1.2 won’t work (there must be 5 digits for the “seconds” part.

A fine media player that supports the SRT subtitle format is Media Player Classic. Just activate the “Load Subtitle…” menu item from the “File” menu.

IME not restricted to natural languages – 9:07 PM 6/27/2006

When I activate the Japanese IME, I can pop 私 by typing “watashi”. This works anywhere: From typing on a text editor to renaming files on Explorer. I often imagine how easy computing life would be when the use of IME is not restricted to languages.

Here are some examples:

  • Typing “date” would yield the current date, for example “2006-06-27”
  • Typing “time” would yield the current time, for example “21:12”
  • Typing an equation would yield the result, for example “=2*3” would yield “6”

If using an IME layer is overkill, a system wide shortcut key should be available to pop up stuffs that don’t require user input (like date and time)