Tuesday, November 24, 2009

Bàn về chuyện cổ tích Tấm Cám

Nhân có người bạn cũ học cùng cấp III có đưa ra chuyện người Mỹ dạy bài học cô bé Lọ Lem, tôi có nhớ lại ngày xưa được bà nội kể lại cũng như học trong trường học câu chuyện cổ tích Tấm Cám. Chắc hẳn các bạn cũng nhớ sơ lược nội dung của câu chuyện này, trong trường hợp ngược lại bạn có thể làm quen với nó trên trang bách khoa toàn thư mở tiếng Việt, cũng như tiếng Anh.


Theo những gì mà tôi được cô giáo dạy, mà chắc rằng hiện nay các em học sinh trong trường học cũng được giải thích như tôi trước đây, thì "Tấm Cám là một câu chuyện cổ tích Việt Nam thuộc thể loại truyện cổ tích thần kì, phản ánh những mâu thuẫn trong gia đình, cuộc đấu tranh giữa cái thiệncái ác, cùng ước mơ cái thiện thắng cái ác của người Việt Nam." Vâng tất nhiên đại diện của cái ác ở trong chuyện này là Cám, cái thiện — Tấm. Chuyện Tấm Cám được so sánh là Lọ Lem Việt Nam.

Thật là kinh khủng khi nghĩ đến việc các em học sinh tiểu học được dạy là giết người là việc thiện. Không chỉ là giết người mà còn rất dã man (làm mắm và đưa cho người khác ăn???!!!). Vâng cứ cho là Cám ác đi, nhưng trong cuộc sống hiện tại có bao nhiêu người như vậy. Không lẽ khi đi làm bạn chưa bị ai ngáng chân? Bạn chưa bao giờ bị những người bạn trong lớp làm hỏng những thứ bạn yêu thích? Và bạn được dạy phải giết họ khi có cơ hội? Còn kinh khủng hơn nữa khi phải nghĩ đến rằng, đó là ước mơ cái thiện thắng cái ác của người Việt Nam.

Có lẽ còn nhiều thứ tôi chưa thể hiểu hết ở tuổi 28, nhưng tôi không thể dạy con trai tôi câu chuyện Tấm Cám này, đơn giản vì tôi không coi đây là chuyện cổ tích, tôi xếp chuyện này vào nhóm kinh dị...

Sunday, November 15, 2009

Access to FreeNAS, which is behind a WL500g router from Internet

All you need is configure Virtual Servers under NAT Setting (something like on the fig. 1). In this case I have FTP, SSH accesses to my FreeNAS machine, which have internal IP address 192.168.1.250. Beside that I can control Bittorrent service by Web interface from anywhere on the Internet.



Fig. 1. Virtual Server setting on WL500g.

If you don't have static IP address, so you should try http://www.dyndns.com/ (free account is enough for the beginning).

The next step should be security realization...

Friday, October 09, 2009

Network printing for host-based printer HP LaserJet 1000/1005/1018/1020 by Oleg's firmware

What do you need?
  • A wireless router like D-Link DIR-320, which has at least one USB port, with Oleg's firmware inside. 
  • An USB printer. In my case I have HP LaserJet 1018, change it to your printer model.
  • An USB hub if you want to connect more device (USB flask stick, scanner, etc) to the router.



Fig. 1. HP LaserJet 1018 connected to wireless router D-Link DIR-320 through an 4-port USB hub
 

Why is Oleg's firmware?

Because original router firmware doesn't work with host-based printer like HP Laserjet 1018, thus it's needed to load some printer firmware to this kind of printer to make it operates properly. And beside that, you don't have much things to do with the manufactor's firmware. Oleg's firmware gives you more freedom of operations. If you have a D-Link DIR-320, you can see how to reflashing your router in my other post. The owner of other router can check Oleg's firmware website and forum.

1. Server settings

The main idea here is putting printer firmware in some place, where the router can find and load it to printer when the last one is connected. You need to download/create some files as below:

1.1. sihp1018.dl

This is the printer firmware. We need to load this file to printer. After login to the router by ssh, you can get this firmware from Oleg's firmware website as below:

$ wget http://oleg.wl500g.info/hplj/sihp1018.dl -O /tmp/sihp1018.dl

All the files in /tmp will be deleted every time the router rebooted. Remember to download printer firmware again if you don't have external storage media. In case you have an USB hub and an USB flash stick mounted under /opt, you can have second copy of firmware on the USB stick:

$ mount /dev/discs/disc0/part1 /opt
$ cp sihp1018.dl /opt

1.2. /usr/local/sbin/usb_printerid

wget http://oleg.wl500g.info/hplj/usb_printerid -O /usr/local/sbin/usb_printerid

1.3. /usr/local/sbin/hotplug.sh

This file is a hotplug script, which will load printer firmware automatically every on/off cycle.

#!/bin/sh
LOG=/tmp/hotplug.log
PRN_BIN=/usr/local/sbin/usb_printerid
PRN_FRM1=/tmp/sihp1018.dl
PRN_FRM2=/opt/sihp1018.dl
# Logging
echo --------------- >> $LOG
date >> $LOG
echo $* >> $LOG
set >> $LOG
if [ "$ACTION" = "add" ] || [ "$1" = "usb" ] || [ "$DEVFS" = "/proc/bus/usb" ]; then
sleep 5
$PRN_BIN /dev/usb/lp0 | grep -q FWVER || cat $PRN_FRM1 > /dev/usb/lp0;
$PRN_BIN /dev/usb/lp0 | grep -q FWVER || cat $PRN_FRM2 > /dev/usb/lp0
echo "Printer OnLine" >> $LOG
else
echo "Printer OffLine" >> $LOG
fi
killall hotplug.sh

1.4 /usr/local/sbin/post-boot

Commands in this file will be executed after router's booting. Here I use it to mount USB flash stick, load firmware to printer if it is on and connected and the firmware is not presented on printer. At last, the hotplug script about is load to kernel's hotplug.

#!/bin/sh
# Mount USB flash disk
if [ -w /dev/discs/disc0/part1 ]; then
mount /dev/discs/disc0/part1 /usr/local/flashdisk
fi
# Load firmware to printer if the printer is connected and
# firmware is not loaded (grep -q FWVER)
if [ -w /dev/usb/lp0 ]; then
  /usr/local/sbin/usb_printerid /dev/usb/lp0 | grep -q FWVER || cat /tmp/sihp1018.dl > /dev/usb/lp0;
  /usr/local/sbin/usb_printerid /dev/usb/lp0 | grep -q FWVER || cat /opt/sihp1018.dl > /dev/usb/lp0
fi
# Hotplug script
echo "/usr/local/sbin/hotplug.sh" >> /proc/sys/kernel/hotplug

After downloading/creating files, we need to make some of them executable and then save the flashfs:

$ chmod +x /usr/local/sbin/*
$ flashfs save
$ flashfs commit
$ flashfs enable
$ reboot

That's all from server side. Now you can connect printer to router, turn it on and configure the client side, after what — print.

2. Client side

2. 1. Linux client

Ubuntu for example. Install and run cupsd:

$ sudo apt-get install cups

Then add printer through GNOME interface (wizard). Not very hard to do. And don't forget to add users to lp group!


Fig. 2. Network printer properties


2. 2. Windows(R) client

I won't show you. I hate Windows users ;).
Read here instead: http://oleg.wl500g.info/printing/

Note:

1. When try:

$ flashfs save && flashfs commit && flashfs enable && reboot

and get

[admin@(none) local]$ flashfs commit
/tmp/flash.tar.gz: File is to big (73504, max 65536)

mean your flash file is not fit on flash ROM. Maybe you download printer firmware to some where in /usr/local. Need to check it:

$ ls -lR /usr/local
lrwxrwxrwx 1 admin root 12 Aug 22 11:35 /usr/local -> ../tmp/local
$ ls -lR /tmp/local

2. If you have connected, for example, 4-port USB hub to the router, then you have more posibilities other than network printing:
  • network storage device,
  • network camera,
  • network scanning, etc.

See http://wl500g.info/forumdisplay.php?f=24 for more compatible hardware with Oleg's firmware.

3. Do not use 3-m USB-cable and over, can cause problem with USB 2.0.

Thursday, October 08, 2009

Transmission Remote GUI


If you're using FreeNAS like me, this application will be useful.

Fig. 1. transgui provides more functions than the web interface

From the readme.txt:
"Transmission Remote GUI is feature rich cross platform front-end to remotely control Transmission daemon via its RPC protocol. It is faster and has more functionality than build-in Transmission web interface.
Transmission Remote GUI is developed using Lazarus RAD and Free Pascal compiler.

Features:
  • Native application for Windows and Linux (GTK2)
  • uTorrent-like interface
  • Select files to download
  • Choose files priority
  • View details about connected peers
  • Full information about each torrent
  • Per torrent options
Project home:
http://code.google.com/p/transmisson-remote-gui/"

Sunday, October 04, 2009

About graphical user interfaces (GUI) for file access

Not counting command line interface (CLI), there are 2 main graphical user interfaces (GUI) for file access:

  1. "Explorer interface": this is the common GUI and widely used in many operating systems, include Linux (fig. 1). User organizes his directory structure himself and has to remember where to find needed information. To take an operation over the desired file, at first user opens a program -- an "explorer", and then move through the directory to file, and at the end do the operation. This looks like CLI, but uses icons instead of commands.
  2. Fig. 1. GNOME File Manager (Nautilus).
  3. More and more popular is getting, could be called, "Content manager interface" (fig. 2). Here files and folders are classified and organized by its content -- documents, sounds, images, or videos, etc. One or more softwares are used to gain access files. Examples of Content manager interface could be music player on many mobile phones. User even don't know where the files are and how they are saved on the medium. By this GUI, he can do many operations over file/files -- copy, move, rename, remove, etc.
  4. Fig. 2. S60 platform gallery application.
Each GUI for file access has its own advantages and shortages. With Explorer interface, user has full control over his files, but not without detriment. Remember that  ordinary people's memory is no limit. With the nowaday temp of information growing, I vote for the Content manager interface.

Saturday, October 03, 2009

Exploring D-Link DIR-320 networks with Oleg's firmware or what are vlan0, vlan1, eth0, eth1, br0?

What is the device?

It's a D-Link wireless router (4MB flash, 32MB RAM and processor Broadcom 240 MHz) with almost the same configuration as ASUS WL500g Premium (8MB flash, 32MB RAM and processor Broadcom 266MHz), but costs much lower.

Fig. 1. The front of D-Link DIR-320

Fig. 2. The of D-Link DIR-320

Why do I need this wireless router?

Because I want to build a wireless home network with Internet connection (PPPoE) for laptop, netbook (HP 2133) and a telephone (Nokia E63), which supports Wi-Fi. I need the USB port for printing, and in the future ---scanning, USB harddisks, networked web camera, 3G or WiM modems etc.


What is the Oleg's firmware?

It's Linux-based custom firmware for ASUS WL-500gx/WL-550gE/WL-500gp/WL-500W/WL-320gE/WL-320gP/WL-330gE/WL-500gp V2/WL-520gU. There isn't much thing to do with the manufacture's firmware. Instruction of installation (flashing) of the Oleg's firmware on DIR-320 can be found in my blog (in English) or wl500g.info (in Russia).


What are there inside the router with Oleg's firmware?
 

After flashing the device with Oleg's firmware, you can configure Internet connection, Wireless, etc by web brower interface. Don't forget to turn on SSH server (dropbear). After that login and explore:

$ ifconfig
br0 Link encap:Ethernet HWaddr 00:90:4C:C0:00:00
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1122700 errors:0 dropped:0 overruns:0 frame:0
TX packets:1113191 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:367622803 (350.5 MiB) TX bytes:586264798 (559.1 MiB)

eth0 Link encap:Ethernet HWaddr 00:90:4C:C0:00:00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1393411 errors:0 dropped:0 overruns:0 frame:0
TX packets:1113648 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:935119976 (891.7 MiB) TX bytes:655661617 (625.2 MiB)
Interrupt:4 Base address:0x1000

eth1 Link encap:Ethernet HWaddr 00:90:4C:C1:00:00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:619887 errors:0 dropped:0 overruns:0 frame:19671
TX packets:683607 errors:122 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:44888939 (42.8 MiB) TX bytes:305171776 (291.0 MiB)
Interrupt:13 Base address:0x5000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
RX packets:40152 errors:0 dropped:0 overruns:0 frame:0
TX packets:40152 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3718052 (3.5 MiB) TX bytes:3718052 (3.5 MiB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:93.88.141.40 P-t-P:93.88.128.253 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1492 Metric:1
RX packets:647631 errors:0 dropped:0 overruns:0 frame:0
TX packets:661658 errors:0 dropped:44 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:545701887 (520.4 MiB) TX bytes:346044024 (330.0 MiB)

vlan0 Link encap:Ethernet HWaddr 00:90:4C:C0:00:00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:504058 errors:0 dropped:0 overruns:0 frame:0
TX packets:443975 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:334078103 (318.6 MiB) TX bytes:292107592 (278.5 MiB)

vlan1 Link encap:Ethernet HWaddr 00:90:4C:C0:00:00
inet addr:10.13.5.65 Bcast:10.13.5.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:889353 errors:0 dropped:0 overruns:0 frame:0
TX packets:669673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:575960475 (549.2 MiB) TX bytes:363554025 (346.7 MiB)

Physically the wireless router D-Link DIR-320 has a 2-port router and a 6-port switch. One port of the switch is connected to the router, another one is the WAN port. The other 4 ports of the switch are the LAN ports on the back of DIR-320. The remaining port of the router is connected to the WLAN adapter.

Inside the switch exist two Virtual LANs (VLans) --- vlan0 and vlan1. vlan0 contains ports 4 LAN ports (ports 1--4) and one router port (port 6). vlan1 contains WAN port (port 0 or "Internet Port" written on the back) and router port (port 6).

There is a bridge (br0) bridging eth1 (WLAN) and eth0 (switch port 0). This bridge allows WLAN and LAN to share the same IP address. When the router needs to send information to clients, it broadcasts out br0 (to eth1 and vlan0). When we need to send information to Internet (WAN), router send directly to vlan1. 

$ brctl showmacs br0
port no    mac addr        is local?    ageing timer
  2    00:1b:9e:7f:96:38    no           0.77
  2    00:21:00:62:c1:86    no           0.00
  2    00:23:b4:ce:cd:4e    no          36.52
  1    00:90:4c:c0:00:00    yes           0.00
  2    00:90:4c:c1:00:00    yes           0.00

  2    02:90:4c:c1:00:00    no          29.23


Reflashing wireless router D-Link DIR-320 with Oleg's firmware

The procedure of reflashing Oleg's firmware on D-Link DIR-320:
  1. Getting the latest firmware from http://code.google.com/p/wl500g and rename it to firmware.bin.
  2. Save it to c:\bin
  3. In c:\bin create file flashing.cmd with the following content:
  4. @Echo Off
    :BEGIN
    ping -n 1 -w 1 192.168.0.1
    If errorlevel 1 Goto BEGIN
    If errorlevel 0 Goto FLASH
    Goto END

    :FLASH
    Echo *** Start Flashing ****
    tftp -i 192.168.0.1 put firmware.bin

    :END

  5. Connect computer to the router by an Ethernet cable with the following LAN setting: IP address 192.168.0.2, netmask 255.255.255.0, no need to write gateway and DNS. Do not power on the router.
  6. Run cmd, then change directory to c:\bin and run flashing.cmd
  7. Push and hold Reset while power on the router. When the LAN LED is blinking, you can release Reset button.
  8. Wait while the reflashing process is running.
  9. When the status LED is on (after 1--2 minutes), we need to reset router's default settings. Push and hold Reset button untill status LED starts blinking. Release Reset. The router restarts and will be ready with new firmware.
After reflashing you need to change computers' WLAN or/and LAN adapters settings to get IP address and DNS automatically. Open a web browser and type http://192.168.1.1 to login the router with username admin, password admin. You can change username, password and other setting in this web browser interface.

Bash script for Linux users (instead of flashing.cmd):

#!/bin/bash
ping_router() {
result=1
until [[ "$result" = 0 ]]
do
ping -c 1 -W 1 -i 1 192.168.0.1
result=$?
done
}

ping_router

echo "*** Start Flashing **** "
tftp 192.168.0.1 -m binary -c put ./firmware.bin
if [[ "$?" = 0 ]]
then echo "Firmware successfully loaded!";
fi

Friday, October 02, 2009

The usage of FreeNAS BitTorrent under a router

To use FreeNAS BitTorrent when NAS connected to Internet by a router, we must do some configurations.
  1. For Downloading: We need DNS settings. Open FreeNAS web interface (http://192.168.1.250). Username is admin and password is freenas by default. Under System | General Setup we write IPv4 of DNS severs. In my case I wrote IP of the router --- 192.168.1.1
  2. For Uploading: Beside DNS we also need port settings. FreeNAS BitTorrent uses default port 51413, which could be closed by router's Firewall. We need open it or in my case use an other opened port (31929). The port setting is under Services | BitTorrent (Peer Port). Don't forget to enable Port forwarding.

Saving FreeNAS configuration on USB flash disks

When running FreeNAS from CD, you can save its configuration to an USB flash disk and restore from there when rebooting. To do this, all you need is connecting the USB flash disk before booting.

Saturday, March 28, 2009

How a non-root user can use apt-get download-only feature?

Some time all you need is just getting required *.deb files to install some programs, for example, to another system that don't have Internet connection. Of course, under root you can use --download-only parameter as:

# apt-get --download-only install wesnoth

(or on Ubuntu $ sudo apt-get --download-only install wesnoth)

Then copy downloaded files from /var/cache/apt/archives. But even if you don't have root permissions the following pipe gives you desired result:

$ apt-get --yes --print-uris install wesnoth | grep --regex 'tp://.*deb' | cut -d ' ' -f1 | sed "s/^'//g;s/'$//g" | wget -i -

As you can see, wget accept URL from input (stdin) with -i option.

Tuesday, March 10, 2009

Install CentOS 5.2 from network (Internet)

Just some step:
  1. Download netinstall iso from centos.org, for example, CentOS-5.2-i386-netinstall.iso.
  2. Burn it if needed (if you want to install to real machine).
  3. Boot from CD.
  4. When asked type:
Enjoy!

Monday, March 09, 2009

A nice and quiet comprehensive introduction about hard disk

Thanks to the guys from IBM DeveloperWorks, I've found this very useful articles about one of most important PC components - the hard driver.

Sunday, March 01, 2009

Access denied error in flashnul or a try to install other Linux for new-purchased HP 2133

Today I've just purchased a HP 2133 - really nice netbook with VIA C7-M 1.6GHz, 1GB RAM and 120 GB Hard Disk, costs about 350$. Everything is good, except the OS pre-installed is Suse Linux. I'm not from those Ubuntu lovers, who can always take Ubuntu Netbook Remix. I'm looking for something from Fedora or Xandros, but at the moment I have no choice.


So I downloaded UNR img file from their server, followed the instruction - used flashnul to write the image to a USB stick, but got an access denied error message. If you have the same problem, you must indicate the drive name instead of its number, for example:

D:\flashnul\flashnul.exe G: -L D:\unr-1.0.1.img

Now I'm installing UNR from the USB stick...

P.S. you can get UNR and more information from ubuntu wiki.

Update 1: there is something wrong with flashnul and I didn't get a bootable USB device. I used dd command on the pre-installed SuSE Linux and it works fine. But the installation could not be continued because the installer "did not find an installation target device".

I'm going to install Ubuntu 8.10 and then UNR packages...

Update 2: now I have a Ubuntu system installed, of course with difficult in Xorg configuration. You can get more documentation from ubuntu wiki. Here is my xorg.conf, taken from Internet (pay attention on PanelID, because if it's wrong, all windows will be bigger than the screen):

# /etc/X11/xorg.conf for hp Mini-Note 2133 FU339EA ubuntu 8.10
# with ubuntu 8.04 change the PanelID option
# based on the xorg.conf published on http://hp2133.umsw.de/xorg.conf

Section "Device"
Identifier "Device 0"
Driver "via"
VendorName "VIA Technology"
Option "NoDDCValue"
Option "ActiveDevice" "LCD"
# Option "PanelID" "17" # si ubuntu 8.04
Option "PanelID" "9" # si ubuntu 8.10
Option "DisplayHardwareLayout" "LCD" #for chip (CX700, CX800) with LVDS/TMDS support. Not set for(CN896, CN700).
Option "ForceLCD" "TRUE"
Option "Refresh" "60"
EndSection

Section "Monitor"
Identifier "Monitor 0"
DisplaySize 196 116
HorizSync 28-50
VertRefresh 43-60
Option "DPMS"
# mode "1024x600": 49.0 MHz, 37.3 kHz, 60.0 Hz
Modeline "1024x600_60" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync # http://hp2133.umsw.de/xorg.conf
# mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
Modeline "800x600_60" 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync
# mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
Modeline "800x600_56" 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync
# mode "800x480": 40.0 MHz, 37.9 kHz, 60.3 Hz
Modeline "800x480_60" 40.00 800 832 960 1056 480 541 545 628 -hsync +vsync
# mode "720x576": 32.7 MHz, 35.9 kHz, 60.1 Hz
Modeline "720x576_60" 32.70 720 744 816 912 576 577 580 597 -hsync +vsync
EndSection

Section "Screen"
Identifier "Screen 0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x600_60" "800x600_60" "800x600_56" "800x480_60" "720x576_60"
EndSubSection
SubSection "Display"
Depth 32
Modes "1024x600_60" "800x600_60" "800x600_56" "800x480_60" "720x576_60"
EndSubSection
Device "Device 0"
Monitor "Monitor 0"
EndSection

Section "Device"
Identifier "Device 1"
BoardName "Chrome9 HC IGP"
Driver "via"
Option "DeviceSwitchHotkey" # si écran externe
Option "MergedFB" "TRUE"
EndSection

Section "Monitor"
Identifier "External"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Screen 1"
Device "Device 1"
Monitor "External"
Subsection "Display"
Depth 24 # Depth 16 broke
EndSubsection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Screen 0"
Screen "Screen 1"
Option "RandR" "False" # d' après viax.conf via
EndSection

I'm going to install UNR interface...

Update 3: The netbook-launcher has been removed because it's still buggy. For example, there is not Firefox in Internet section. What's a shame! The maximus tool works quiet fine. What about HP 2133 in general? It's perfect: beautiful design, small (of course), fast and compatible with Linux. The only minus is heating because of CPU type - Via C7. But HP 2140 and newer will resolve this problem with Intel Atom.

Monday, February 16, 2009

Slumdog Millionaire is worthy to watch

I like watching movies in free time. My favorite films are "The Good, The Bad and The Ugly", "The Shawnshank Redemption", etc. You may say that quite old movies. Yes, I agreed, they are not the moderns, but the best. Because something remains in you after watching. And I don't know why some new hollywood creations like "No country for old men" could get so many awards, including Oscars. American suck or maybe Oscar now means nothing?


Of course, not all our-time films are awful. Example can be "Slumdog Millionaire" (2008). Slumdog Millionaire tells the story of a young man from the slums of Bombay who won a prize of 20 million rupees in Indian "Who Wants to Be a Millionaire", just because he know the answers, or more exactly the answers are written in his life. It's a nice movie of real life, philosophy and love.

By the way, last night this film won 8 Oscars from 10 nominated.

Thursday, January 22, 2009

HPLC 2009 in Dresden, Germany

The 34th International Symposium on High-Performance Liquid Phase Separations and Related Techniques, HPLC2009, will be held from June 28 to July 2 in Dresden, Germany. A limited number of travel grants will be available for students with an accepted oral or poster presentation.
See more information about the conference itself and the grants on hplc2009.com.

Stardict 3.0.1 does not pronounce in Debian

Some knows that Stardict can pronounce English words contained as wav files in the WyabdcRealPeopleTTS.tar.bz2 package, if untar the last to /usr/share. On my Debian system, the dictionary program stops pronounce when I upgraded stardict to 3.0.1 version. And when upgrading I noticed the appearance of some new packages such as festival, espeak, which suppose to do the same thing. Saying faithfully, I'm still not familir with these programs, so I was looking for other solution. In Stardict's sound configuration command for playing wav files by default is play. It could not be found by whereis. Insteed, aplay was found. So I changed play to aplay, and suprisedly it works!
Give it a try if you have the same problem.