Friday, August 25, 2006

Thursday, August 24, 2006

Apple Store NY



Posting from Apple Store on 5th Ave. NY:

Hello :)

Sunday, August 20, 2006

NFS Client Setup on Window XP

Google search of "nfs mount windows xp" found the following page:

http://www.oreillynet.com/cs/user/view/cs_msg/15337

Someone pointed to a Microsoft package:

http://www.microsoft.com/windows/sfu/default.asp
http://www.microsoft.com/technet/interopmigration/unix/sfu/default.mspx

It's free from microsoft, but you have to provide personal information (address).

http://www.microsoft.com/technet/interopmigration/unix/sfu/nfsauth.mspx

Introduction

Microsoft Windows Services for UNIX version 3.0 (SFUv3) includes key filesystem interoperability components that allow Microsoft Windows computers to function effectively in a Network File System (NFS) environment. These include Client for NFS, Server for NFS and Gateway for NFS. To enable these components to work effectively, SFUv3 must be able to accurately identify and authenticate users against both their native operating system and the remote operating system as appropriate. By default, NFS uses the UNIX method of identifying and authenticating users.

Note: Throughout this document, we refer to resources and authentication of UNIX users and computers. This is shorthand for UNIX and Linux users and computers.

Components

There are a number of components to Services for UNIX that are either involved in the authentication, or dependent on it. These include:

User Name Mapping Server – Maps UNIX users to Windows users and vice versa. Even when a user has exactly the same name on both systems, it is not actually the same user, so some mechanism is necessary to let the other components of SFUv3 know that Windows user jdoe is the same as UNIX user johnd.

Server for NFS Authentication – This isn't a server at all, but an authentication component used by Server for NFS. Install this component on any Windows server that might be involved in user authentication.

Server for PCNFS – This server is not used by other components of SFUv3, but can be used by other NFS programs that expect to see PCNFSD, including SFUv1.

Client for NFS – The Windows NFS client component of SFUv3. Client for NFS allows the machine on which it is installed to access and use NFS resources anywhere on the network.

Gateway for NFS – A special NFS client that enables a single Windows Server to provide access to NFS resources for other Windows computers that don't have any SFUv3 components installed at all. (Note: Client for NFS and Gateway for NFS are mutually exclusive – only one or the other may be installed on a machine.)

Server for NFS – The Windows NFS server component of SFUv3. Server for NFS allows the machine on which it is installed to provide file system resources to NFS clients anywhere on the network.


What Needs To Be Installed?

To use any of the NFS components in SFUv3, you will need to install and configure User Name Mapping Server. This is true whether you are using PCNFS or NIS for authentication. User Name Mapping Server is the core component that is required for any authentication of NFS in SFUv3.

You will also need to install the appropriate client and server components of the Services for UNIX NFS suite. To share files from a Windows server or workstation to UNIX clients, you will need to install Server for NFS on the machine providing the file services. To use files stored on UNIX hosts, you will need to install either Client for NFS or Gateway for NFS on a Windows server or workstation. You cannot install both – they are mutually exclusive. Client for NFS is appropriate for individual workstations or servers and provides access to files on the remote host for that workstation or server only. Gateway for NFS can only be installed on a server class Windows product. It provides access to files on the remote host to all Windows computers on the network, without requiring additional software on the downstream Windows computers.

HOW TO: Configure the User Name Mapping Service

How to install Client for NFS on Windows for a UNIX-to-Windows migration


What I actually did:


1. download "Window Services for UNIX": filename: SFU35SEL_EN.exe

2. run SFU35SEL_EN.exe, it is a self-extracting compressed file.

3. from the un-compressed directory, run installer: SfuSetup.msi

4. from installer GUI, select (a) User Name Mapping Server (b) NFS Client to install, igore other packages.

5. During installation, choose to use passwd and group file for authentication becaseu I am not using NIS at home. This requires /etc/passwd and /etc/groupd files to be copied from Linux NFS server to local XP machine. Provide the location of these 2 file (I copied them to c:\etc\) on the XP machine to the installation utility.

6. After installation, goto Start-> Windows Services for UNIX -> Services for UNIX Administration, which is a GUI for configuring the User Name Mapping Server and NFS Client.

7. Use simple setup for User Name Mapping Server because it is installed on the local XP machine. Use this Admin utility to automatically generate mapping config files.

8. Setup is done. Goto file explore and mount the network drive at xx.x.x.x:\mhe\amd900_export, which looks the same as Samba mount.

Viola.

Saturday, August 19, 2006

TT Project Progress

Almost fixed the mess introduced by web applications, namely, missing white spaces and insertion of new lines.

Friday, August 18, 2006

NFS

Again, post the actual article here in case the link goes bad in the future:

http://nfs.sourceforge.net/nfs-howto/


SERVER:

Setting up the server will be done in two steps: Setting up the configuration files for NFS, and then starting the NFS services.
3.2. Setting up the Configuration Files

There are three main configuration files you will need to edit to set up an NFS server: /etc/exports, /etc/hosts.allow, and /etc/hosts.deny . Strictly speaking, you only need to edit /etc/exports to get NFS to work, but you would be left with an extremely insecure setup. You may also need to edit your startup scripts; see Section 3, “Setting Up an NFS Server” for more on that.
3.2.1. /etc/exports

This file contains a list of entries; each entry indicates a volume that is shared and how it is shared. Check the man pages (man exports) for a complete description of all the setup options for the file, although the description here will probably satisfy most people's needs.

An entry in /etc/exports will typically look like this:

directory machine1(option11,option12)
machine2(option21,option22)

where

directory

the directory that you want to share. It may be an entire volume though it need not be. If you share a directory, then all directories under it within the same file system will be shared as well.
machine1 and machine2

client machines that will have access to the directory. The machines may be listed by their DNS address or their IP address (e.g., machine.company.com or 192.168.0.8 ). Using IP addresses is more reliable and more secure. If you need to use DNS addresses, and they do not seem to be resolving to the right machine, see Section 7, “Troubleshooting”.
optionxx

the option listing for each machine will describe what kind of access that machine will have. Important options are:

* ro: The directory is shared read only; the client machine will not be able to write it. This is the default.
* rw: The client machine will have read and write access to the directory.
* no_root_squash: By default, any file request made by user root on the client machine is treated as if it is made by user nobody on the server. (Exactly which UID the request is mapped to depends on the UID of user "nobody" on the server, not the client.) If no_root_squash is selected, then root on the client machine will have the same level of access to the files on the system as root on the server. This can have serious security implications, although it may be necessary if you want to perform any administrative work on the client machine that involves the exported directories. You should not specify this option without a good reason.
* no_subtree_check: If only part of a volume is exported, a routine called subtree checking verifies that a file that is requested from the client is in the appropriate part of the volume. If the entire volume is exported, disabling this check will speed up transfers.
* sync: By default, all but the most recent version (version 1.11) of the exportfs command will use async behavior, telling a client machine that a file write is complete - that is, has been written to stable storage - when NFS has finished handing the write over to the filesystem. This behavior may cause data corruption if the server reboots, and the sync option prevents this. See Section 5, “Optimizing NFS Performance” for a complete discussion of sync and async behavior.

Suppose we have two client machines, slave1 and slave2, that have IP addresses 192.168.0.1 and 192.168.0.2, respectively. We wish to share our software binaries and home directories with these machines. A typical setup for /etc/exports might look like this:

/usr/local 192.168.0.1(ro) 192.168.0.2(ro)
/home 192.168.0.1(rw) 192.168.0.2(rw)

Here we are sharing /usr/local read-only to slave1 and slave2, because it probably contains our software and there may not be benefits to allowing slave1 and slave2 to write to it that outweigh security concerns. On the other hand, home directories need to be exported read-write if users are to save their work on them.

If you have a large installation, you may find that you have a bunch of computers all on the same local network that require access to your server. There are a few ways of simplifying references to large numbers of machines. First, you can give access to a range of machines at once by specifying a network and a netmask. For example, if you wanted to allow access to all the machines with IP addresses between 192.168.0.0 and 192.168.0.255 then you could have the entries:

/usr/local 192.168.0.0/255.255.255.0(ro)
/home 192.168.0.0/255.255.255.0(rw)

See the Networking-Overview HOWTO for further information on how netmasks, and you may also wish to look at the man pages for init and hosts.allow.

Second, you can use NIS netgroups in your entry. To specify a netgroup in your exports file, simply prepend the name of the netgroup with an "@". See the NIS HOWTO for details on how netgroups work.

Third, you can use wildcards such as *.foo.com or 192.168. instead of hostnames. There were problems with wildcard implementation in the 2.2 kernel series that were fixed in kernel 2.2.19.

However, you should keep in mind that any of these simplifications could cause a security risk if there are machines in your netgroup or local network that you do not trust completely.

A few cautions are in order about what cannot (or should not) be exported. First, if a directory is exported, its parent and child directories cannot be exported if they are in the same filesystem. However, exporting both should not be necessary because listing the parent directory in the /etc/exports file will cause all underlying directories within that file system to be exported.

Second, it is a poor idea to export a FAT or VFAT (i.e., MS-DOS or Windows 95/98) filesystem with NFS. FAT is not designed for use on a multi-user machine, and as a result, operations that depend on permissions will not work well. Moreover, some of the underlying filesystem design is reported to work poorly with NFS's expectations.

Third, device or other special files may not export correctly to non-Linux clients. See Section 8, “Using Linux NFS with Other OSes” for details on particular operating systems.
3.2.2. /etc/hosts.allow and /etc/hosts.deny

These two files specify which computers on the network can use services on your machine. Each line of the file contains a single entry listing a service and a set of machines. When the server gets a request from a machine, it does the following:

1. It first checks hosts.allow to see if the machine matches a rule listed here. If it does, then the machine is allowed access.
2. If the machine does not match an entry in hosts.allow the server then checks hosts.deny to see if the client matches a rule listed there. If it does then the machine is denied access.
3. If the client matches no listings in either file, then it is allowed access.

In addition to controlling access to services handled by inetd (such as telnet and FTP), this file can also control access to NFS by restricting connections to the daemons that provide NFS services. Restrictions are done on a per-service basis.

The first daemon to restrict access to is the portmapper. This daemon essentially just tells requesting clients how to find all the NFS services on the system. Restricting access to the portmapper is the best defense against someone breaking into your system through NFS because completely unauthorized clients won't know where to find the NFS daemons. However, there are two things to watch out for. First, restricting portmapper isn't enough if the intruder already knows for some reason how to find those daemons. And second, if you are running NIS, restricting portmapper will also restrict requests to NIS. That should usually be harmless since you usually want to restrict NFS and NIS in a similar way, but just be cautioned. (Running NIS is generally a good idea if you are running NFS, because the client machines need a way of knowing who owns what files on the exported volumes. Of course there are other ways of doing this such as syncing password files. See the NIS HOWTO for information on setting up NIS.)

In general it is a good idea with NFS (as with most internet services) to explicitly deny access to IP addresses that you don't need to allow access to.

The first step in doing this is to add the followng entry to /etc/hosts.deny:

portmap:ALL

Starting with nfs-utils 0.2.0, you can be a bit more careful by controlling access to individual daemons. It's a good precaution since an intruder will often be able to weasel around the portmapper. If you have a newer version of nfs-utils, add entries for each of the NFS daemons (see the next section to find out what these daemons are; for now just put entries for them in hosts.deny):

lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

Even if you have an older version of nfs-utils, adding these entries is at worst harmless (since they will just be ignored) and at best will save you some trouble when you upgrade. Some sys admins choose to put the entry ALL:ALL in the file /etc/hosts.deny, which causes any service that looks at these files to deny access to all hosts unless it is explicitly allowed. While this is more secure behavior, it may also get you in trouble when you are installing new services, you forget you put it there, and you can't figure out for the life of you why they won't work.

Next, we need to add an entry to hosts.allow to give any hosts access that we want to have access. (If we just leave the above lines in hosts.deny then nobody will have access to NFS.) Entries in hosts.allow follow the format:

service: host [or network/netmask] , host [or network/netmask]

Here, host is IP address of a potential client; it may be possible in some versions to use the DNS name of the host, but it is strongly discouraged.

Suppose we have the setup above and we just want to allow access to slave1.foo.com and slave2.foo.com, and suppose that the IP addresses of these machines are 192.168.0.1 and 192.168.0.2, respectively. We could add the following entry to /etc/hosts.allow:

portmap: 192.168.0.1 , 192.168.0.2

For recent nfs-utils versions, we would also add the following (again, these entries are harmless even if they are not supported):

lockd: 192.168.0.1 , 192.168.0.2
rquotad: 192.168.0.1 , 192.168.0.2
mountd: 192.168.0.1 , 192.168.0.2
statd: 192.168.0.1 , 192.168.0.2

If you intend to run NFS on a large number of machines in a local network, /etc/hosts.allow also allows for network/netmask style entries in the same manner as /etc/exports above.
3.3. Getting the services Started
3.3.1. Pre-requisites

The NFS server should now be configured and we can start it running. First, you will need to have the appropriate packages installed. This consists mainly of a new enough kernel and a new enough version of the nfs-utils package. See Section 2, “Introduction” if you are in doubt.

Next, before you can start NFS, you will need to have TCP/IP networking functioning correctly on your machine. If you can use telnet, FTP, and so on, then chances are your TCP networking is fine.

That said, with most recent Linux distributions you may be able to get NFS up and running simply by rebooting your machine, and the startup scripts should detect that you have set up your /etc/exports file and will start up NFS correctly.

3.3.4. Verifying that NFS is running

To do this, query the portmapper with the command rpcinfo quota to find out what services it is providing. You should get something like this:

program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 749 rquotad
100011 2 udp 749 rquotad
100005 1 udp 759 mountd
100005 1 tcp 761 mountd
100005 2 udp 764 mountd
100005 2 tcp 766 mountd
100005 3 udp 769 mountd
100005 3 tcp 771 mountd
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
300019 1 tcp 830 amd
300019 1 udp 831 amd
100024 1 udp 944 status
100024 1 tcp 946 status
100021 1 udp 1042 nlockmgr
100021 3 udp 1042 nlockmgr
100021 4 udp 1042 nlockmgr
100021 1 tcp 1629 nlockmgr
100021 3 tcp 1629 nlockmgr
100021 4 tcp 1629 nlockmgr

This says that we have NFS versions 2 and 3, rpc.statd version 1, network lock manager (the service name for rpc.lockd) versions 1, 3, and 4. There are also different service listings depending on whether NFS is travelling over TCP or UDP. Linux systems use UDP by default unless TCP is explicitly requested; however other OSes such as Solaris default to TCP.

If you do not at least see a line that says portmapper, a line that says nfs, and a line that says mountd then you will need to backtrack and try again to start up the daemons (see Section 7, “Troubleshooting” if this still doesn't work).

If you do see these services listed, then you should be ready to set up NFS clients to access files from your server.

3.3.5. Making Changes to /etc/exports later on

If you come back and change your /etc/exports file, the changes you make may not take effect immediately. You should run the command exportfs -ra to force nfsd to re-read the /etc/exports file. If you can't find the exportfs command, then you can kill nfsd with the -HUP flag (see the man pages for kill for details).

If that still doesn't work, don't forget to check hosts.allow to make sure you haven't forgotten to list any new client machines there. Also check the host listings on any firewalls you may have set up

CLIENT:

With portmap, lockd, and statd running, you should now be able to mount the remote directory from your server just the way you mount a local hard drive, with the mount command. Continuing our example from the previous section, suppose our server above is called master.foo.com,and we want to mount the /home directory on slave1.foo.com. Then, all we have to do, from the root prompt on slave1.foo.com, is type:

# mount master.foo.com:/home /mnt/home

and the directory /home on master will appear as the directory /mnt/home on slave1. (Note that this assumes we have created the directory /mnt/home as an empty mount point beforehand.)

If this does not work, see Section 7, “Troubleshooting”.

You can get unmount the file system by typing:

# umount /mnt/home

Just like you would for a local file system.
4.2. Getting NFS File Systems to be Mounted at Boot Time

NFS file systems can be added to your /etc/fstab file the same way local file systems can, so that they mount when your system starts up. The only difference is that the file system type will be set to nfs and the dump and fsck order (the last two entries) will have to be set to zero. So for our example above, the entry in /etc/fstab would look like:

# device mountpoint fs-type options dump fsckorder
...
master.foo.com:/home /mnt nfs rw 0 0
...

See the man pages for fstab if you are unfamiliar with the syntax of this file. If you are using an automounter such as amd or autofs, the options in the corresponding fields of your mount listings should look very similar if not identical.



4.3. Mount Options
4.3.1. Soft versus Hard Mounting

There are some options you should consider adding at once. They govern the way the NFS client handles a server crash or network outage. One of the cool things about NFS is that it can handle this gracefully. If you set up the clients right. There are two distinct failure modes:

soft

If a file request fails, the NFS client will report an error to the process on the client machine requesting the file access. Some programs can handle this with composure, most won't. We do not recommend using this setting; it is a recipe for corrupted files and lost data. You should especially not use this for mail disks --- if you value your mail, that is.
hard

The program accessing a file on a NFS mounted file system will hang when the server crashes. The process cannot be interrupted or killed (except by a "sure kill") unless you also specify intr. When the NFS server is back online the program will continue undisturbed from where it was. We recommend using hard,intr on all NFS mounted file systems.

Picking up from the previous example, the fstab would now look like:

# device mountpoint fs-type options dump fsckord
...
master.foo.com:/home /mnt/home nfs rw,hard,intr 0 0
...

The rsize and wsize mount options specify the size of the chunks of data that the client and server pass back and forth to each other.

The defaults may be too big or to small; there is no size that works well on all or most setups. On the one hand, some combinations of Linux kernels and network cards (largely on older machines) cannot handle blocks that large. On the other hand, if they can handle larger blocks, a bigger size might be faster.

Getting the block size right is an important factor in performance and is a must if you are planning to use the NFS server in a production environment. See Section 5, “Optimizing NFS Performance” for details.

Tuesday, August 15, 2006

Pushing the Limit of PC Enclosure Design

* good air-flow with open box
* never lose Wi-Fi connection (gluded to tape)
* easy access
* low cost (2 ft. tape)

OS Upgrade on 5-year Old PC

Stuck with 5-year old AMD 900M Hz COMPAQ and increasingly scared by the dying M$ Win2k, I finally decided to take the risk and upgrade the system to Ubuntu 6.06.1.

There is only 1 CD-ROM for Ubuntu installation which is awsome, considering that when I bought the COMPAQ 5 years ago DVD drive was kind of luxury so I do not have it, this is the only way I could have gone to install the system. I had considered network installation of SuSe, but I do not have a network cable long enough to go through the stairs from the first floor. So Wi-Fi has to work or I will be totally screwed - the hard drive is only as big as 30GB (well, back in 2001...) and I had to wipe off the old Win2k.

I started only to find out that during the years the optical drive on the machine has silently died somehow without a trace. I tried everything to have no effect. Then I realized that 4 years ago I bought another drive and it must be sitting somewhere in the house because I do not remember selling it or giving it away. I was happy to find it in the closet and now I have a working optical drive on the old PC.

Ubuntu installation is not pretty but it is good. The process is very smooth and straightforward. At the end the only thing that did not work out of the box is Wi-Fi. Since I have been using this $10 D-Link DWL-122 which was not popolar to start with, I sort of expected some hardship. But the following article in Ubuntu support pages turned out to be very valuable and accurate. I cannot afford to lose them by saving the URL only. So I am c/p the entire sections I have used below.


https://help.ubuntu.com/community/WifiDocs/Driver/prism2_usb

WifiDocs/Driver/prism2 usb

1. Driver Information

  • Driver Name: prism2_usb / Prism II

  • Module Name: prism2_usb

First of all, install the linux-wlan-ng package to use this driver! It is included on all Ubuntu 6.06 CDs.


NOTE: The linux-wlan-ng is only on the CD, not on the hard drive after installation. So I loaded the CD from the Synaptic Package Manager and then install it from there.

2. Support Channels

See also WifiDocs/Device/DWL-122 and WifiDocs/Device/NetgearMA111 for help on configuration.


https://help.ubuntu.com/community/WifiDocs/Device/NetgearMA111


WifiDocs/Device/NetgearMA111

Purpose

This howto will setup wireless networking using the Netgear MA111 wireless USB adapter or many other wireless USB adapters which use the WifiDocs/Driver/prism2_usb driver. This card is now pretty easy to setup on Ubuntu 5.10 (Breezy) and 6.06 (Dapper), as the driver module is present in the kernel.

  • IconNote.png There are apparently two versions of the card floating around, this method will work only with the v1 (or no version number) of the Netgear MA111 card. See the [WWW] vendor product page.

Check driver is loaded

First, plug in your MA111 USB wireless card and see if it is detected and the appropriate modules are loaded. Open up a terminal and execute the following command

$ lsmod | grep prism
prism2_usb xxxxx 0
ieee80211 xxxxx 1 prism2_usb
usbcore xxxxx 3 prism2_usb,ohci_hcd

If you see an output similiar to this, your card has been detected and appropriate modules loaded. If not, you must manually load the driver by issuing the following command

sudo modprobe prism2_usb

Next, we must alias the wlan0 to the prism2_usb device. In Ubuntu 5.10 (Breezy), do this by adding the following to /etc/modprobe.conf. In Ubuntu 6.06 (Dapper) do this by adding the following to /etc/modprobe.d/wlan (only if needed):

alias wlan0 prism2_usb

Install needed package

Since the driver does not support wireless extensions completely, we have to install the following package. You will find this package on the install cd. If you installed from the Ubuntu 6.06 (Dapper) Desktop (live) cd, you will have to add the repository on that cd to your package manager's list. It is as simple as inserting the cd and clicking on the box that appears on your ubuntu desktop to do this. Alternatively, from the command line, you can run

sudo apt-cdrom add

If you installed your ubuntu system from the Ubuntu 6.06 (Dapper) alternate (install) cd, these packages are already part of your repository list, and you do not have to add them to your list again.

sudo apt-get install linux-wlan-ng

Edit interfaces file

Open up the file /etc/network/interfaces in your favorite text editor. Add the following lines to it (replace your_essid and xx:xx:xx:xx:xx with your network name and WEP key):

auto wlan0 # Remove or comment out if you don't want it to start at boot

iface wlan0 inet dhcp # If you want dhcp for wireless. Otherwise replace "dhcp" by "static" and see "man interfaces"
wireless_mode managed
wireless_essid your_essid
# Comment out the lines below if you don't have wireless encryption. See /usr/share/doc/linux-wlan-ng/README.Debian
wireless_enc on
wlan_ng_key0 xx:xx:xx:xx:xx
wlan_ng_authtype opensystem

Ready to go

Unplug/replug your wireless card or reboot your system. After it boots up, check if your wireless works. The network connection should be made automatically every time you insert the device. You may try to enable the connection by hand by issuing the following commands:

sudo ifup wlan0

This should ensure that you are connected to the network.





Monday, August 14, 2006

New Findings

Living Without Microsoft:
http://www.livingwithoutmicrosoft.org/

Scribus: Open Source Desktop Publishing
http://www.scribus.net/

Amarok

Wednesday, August 09, 2006

Bug (mostly) Fixed

TODO:

Fix WYSIWYG "feature" (bug?): what I saw in blogger editor is NOT what I see in the following posted format:


%$&##@! ,! JSF ^_^ :} ,Picassa Bush DAaD -debu RTFM is ew tionary RTFM is MiI THere's W1i `,man! mI } &@{ a2a is KEY ,Picassa ard s TOYOTA @<.%[ DAaD T0: View Month 98' stupid. Edit mI XML fake $# UIUC er. Yes .doc OpenGL += BT ActiveX |/bin/sh Duc Ct. ,! Duc Ct. ,! TDK FK 650- too old f430 -Benz 99 00179: rwx ;`30893 AVE. nUm Gates Pop-cu FK


Now I have no choice but to write a pre-processor to get back to the actual wIsiwIg format :(

BTW, differet applications do different kind of mess-up work. For example, Gmail does not screw up the white spaces and tabs, but it inserts NEWLINE characters when it feels like it :((((

TT Project Progress



Found a huge bug in codec ...

Monday, August 07, 2006

Word

ard s xEFF0A FW: ur Opt Bill Fedora C IMPOR PERLmodu Pop-cu F430 Epic_ .com [] tic & {} ary. cnt++ encrypt ++= # , so FT DIGG's ?? meh. Edit 69 B2C Jan, 7 -rw- March, 3p CC: VIII. He is. y= 802.16 Ltd. SONY are 5 shit Z D.C. that's . grep - Jan goin text GB +-*/% ^^ Adminis 0O0 F12 k VvV %s, %s strcmp IM NO. XML fake at 13 NT M3 TOYOTA symbolic CMOS f19 or, kn MOM onth. (c FFFEO1l binar router lm BAK R56 MIN static Ht breast ld ___ lp JBL matchin Synnyv DLL AMD Op Lee rp /* */ just to Hertz CCD feed the

Sunday, August 06, 2006

TT Project Progress

1. subversion setup done (Fedora Core 4)
2. basic codec working, code word coverage test needed
3. command-line working on Linux
4. ported to OSX (Xcode), command line working
5. ported to Windows XP (Dev-C++), command line working

TODO:

1. automated testing
2. automated build and backup
3. GUI

Saturday, July 29, 2006

Vista Feature Presentation

When M$ Vista comes out in 2007, it will be the most advanced OS in 2003:

“Let’s set so double the killer delete select all.”

Speech recognition, regardless of how many academic papers it help produced and how many jobs it help secured, is among the most absolutely hopeless technilogical goals to have been set, let alone to be acheived in the "high" tech industry.


Time again I heard people say "wouldn't it be great if I can use my voice to do this, so I do not need to type it or push the buttoms". The truth is, it will only make everyone an idiot even if it might have half a chance of working properly at all. Imagine in a meeting only 20 people talking to their computers at the same time in a little conference room with 20 cross-firing voices like "delete", "ok", "cancel", "back", "control-alt-delete", "WTF", "my password is ...", "I think the CFO is lying ...", "call my lawyer". Or, in little cute cars yelling "turn on AC", "turn left", "brake", "brake harder", "install updated software", "reboot", "shit"...

I hope other people don't die (refer to “a little bit of echo” later in the quoted paragraps, how robust is this thing, plus M$ software?) because of these corporate people doing this for their own job security. I hope no more children have their career future sucked into this black-hole.

When good demos go (very, very) bad

July 28th, 2006, filed by Eric Auchard Reuters.com

Eleven years after Microsoft co-founder Bill Gates in his 1995 book “The Road Ahead“ predicted humans would one day talk to their computers rather than have to type, the future appeared to be at hand.

At Microsoft’s annual Financial Analyst Meeting on Thursday, Vista product manager Shanen Boettcher set out to show just how easy to use the speech recognition technology built into upcoming Windows Vista software will be. Like, for example, dictating aloud a simple, heartfelt letter to mom, and having one’s voice automatically transcribed into a computer.

Voice Rec demoThe result was a disaster.

Several tries at making the computer understand the simple salutation “Dear Mom” was read by Microsoft software as “Dear Aunt, let’s set so double the killer delete select all.” Attempts to correct or undo or delete the error only deepened the mess.

It was not just a perfect refutation of the problems of making machines understand human speech. What other features of Microsoft Windows Vista pose trouble, the audience was left to wonder? “The crashing demo didn’t do a lot to instill confidence in the new Windows product,” one Wall Street analyst, who was present at the demo, said.

Windows Vista, already five years in the making, has been postponed by Microsoft several times. Delays have put off the consumer version of Windows until early 2007 — after the crucial holiday shopping season. Vista is scheduled to ship to corporate customers this November, that is, unless more problems are uncovered.

Later, Microsoft CEO Steve Ballmer blamed the failed speech recognition product demonstration on “a little bit of echo” in the room, which confused the speech-to-text system. To be sure, a second demonstration during the meeting showed how effectively speech recognition can be for navigating around applications, like Microsoft Outlook.

Structured menus appear to work fine. But recognizing random, natural speech still has quite a ways to go, by all appearances: “Let’s set so double the killer delete select all.”





And they do have history:

Friday, July 28, 2006

Shanghai company starts small with hydrogen-powered car

Taras Wankewycz, founder of Horizon, prepares for a demonstration of the company's hydrogen-powered model car.
By Elaine Kurtenbach, AP
Taras Wankewycz, founder of Horizon, prepares for a demonstration of the company's hydrogen-powered model car.


SHANGHAI — It's a dream that's been pursuedfor years by governments, energy companies and automakers so farwithout success: Mass-producing affordable hydrogen-powered cars thatspew just clean water from their tailpipes.

So Shanghai's Horizon Fuel Cell Technologies decided to start small. Really small.....


Monday, July 24, 2006

So Hot

Things That Might Go Wrong

All went wrong today.

We went to Laguna Seca for the 2006 MotoGP US event in Monterey, can't believe how many things went wrong today.
  • I got a ticket passing a pickup on Highway 17 at the end of an uphill stretch with a perfect blind spot for cop hideout.
  • I forgot my wallet in the car when I parked the car offsite and took the bus to Laguna Seca, me and my wife had to rely on a $20 bill for the entire day.
  • A track worker gave me the wrong direction and we ended up walking all the way around the infield area just to get pass the VIP-only area to get to turn 9-10, which should have been a 100-metre walk under the sun.
  • The race was good, lasted about 50 minutes. But we waited for 2 hours when there was absolutely nothing going on on the track. Kind of strange for a Laguna Seca event.
  • After the race, 100,000 people packed in lines waiting to get out under to summer afternoon sun of California, for 3 straight hours without any explanation. In the meantime, 3 helicopters flew dozens of flights lifting VIPs from the track VIP suites to their hotels.
  • 6:30pm, 3 hours after the end of the GP race, people finally started boarding the promised buses, before that half a dozen have passed out and dragged out of the anxious crowd waiting to get out.
  • 7:00pm, 3 and half hours after the end of the GP race, we started driving home from Monterey, only to hit a major traffic jam on north-bound Highway 1 only 1 minute after taking off. Traffic goes about 2mph all the way to 156, where thousands of the cars switch to 156 and immediately created a total gridlock on 156-101.
  • Traffic did not stay well for long. About 5 miles to the 1-17 exchange at Santa Cruz, traffic came to a grinding halt - close to zero mile an hour. Thousands of cars inched to the 17 on ramp, only to find that 17 is completely stuffed up, at 9:00pm!
  • We had bad experience on 17 before getting stuck in a traffic jam because there is absolutely nowhere to go except falling off the mountain. So we quickly decided to switch to Highway 1 north, going on a dark and winding costal highway is much better than imagining a restroom in a 10-mile deadlock on 17.
  • But things did not go smooth after that either. As we went past 84 and heading towards 92 for the final switch to 280 back home, there was an amber alert on AM1610. We tuned in the radio, there were rocks falling off the hills on Highway 1 only 10 miles north of 92 and it is closed. Now all cars, northbound and sourthboud, turn to 92, which is another absolutely hopless road for a traffic jam - nowhere to go.
  • At 10pm, traffic on northboudn Highway 1 came to another halt as we approach 92. Half Moon Bay, a quite little seaside town, now becomes stuffed with converging traffic and thousands of angry, tired drivers, pissed motorcyclists and dozens of police cars running sirens for no apparent reason. Total chaos.
  • We filled up with gas and decided to head back to 84, a more challenging alternative to 92 where we hope not many drivers would dare to consider on a pitch-dark night. It turned out to be as we wished, there were only a handful of vheichles taking 84 and the drive was fast and peaceful, until a van cut in front of me at the only stop sign at Skyline Blvd. For the first time ever, I did the drive on 84 East downhill to Woodside without braking, at 1/3 of the speed limit. I had to think about wierd things to keep myself from falling asleep behind the brake lights of the "moving" van.
  • Back home at 11:40pm, more than 8 hours after we packed and left at the end of the GP race. 8 hours is enought time to drive to Mexico, or a ROUND trip to Tahoe. We had sub-1-mph traffic jamS in every section of the route. That's the result.

Santa Cruz Police Department is harvesting revenue today. There were like dozens of speed traps all around the major road heading towards Laguna Seca and people are getting pulled oever all the way. Because they figured that there will be 100,000 people coming to this event and most of them are out of state. I have not seen that many pullovers in the past YEAR. However when people passed out due to dehidration waiting 3 hours for the bus, the officer only told us to wait it out.

They (whoever they are who organized the event) do not have a clue on how to handle a big event in a small place. They closed all gates of the track and left only one, 6 feet wide temporary bridge, as the only way into and out of the entire Laguna Seca area (except for the helicopter rides for VIPs, of course). They sold the tickets, they know how many people are coming on which day, and they have absolutely no excuse to claim that they under-estimated the flow. Toward the end of the 3rd stright hour wating under the sun with another 99,999 people, there was almost a riot because every person was frustrated and angry. The organizer gave no explaination of the 3 hour heldup.

We are not going to another Laguna Seca event again.

Sunday, July 23, 2006

Someone Really Did the Research on It


http://www.omninerd.com/2005/11/11/articles/41

Figure 12. Maximum economically justified hypothetical hybrid sticker price vs hypothetical hybrid gas mileages for various gas prices


Saturday, July 22, 2006

Google Map Starts Sucking?

Like someone's comment in the groups says, it the project manager having too much time? Why change something good for worse?

Do not even bother to post screenshots, because it really sucks. Just c/p my post in groups:


The new printout is useless. I have a few points to make.

1. The assumption that text is easier to read than maps is wrong. Of
coz if you print everything on the map the streets/road would be so
small that they are very hard to read. But the good thing about old
Google map is that you can adjust the zoom level and print out exactly
the part you want, which can be just as big or small as you want. In
fact, image is much easier to read than text when time is limited
(driver needs to keep focus on the road, not the text).

2. The maps on the new printout is useless. The "overview" is for
astronauts and cannot be used for guidance unless you are guiding a
cruse missle. The "start" part is irelevant, because most of the time
it will be yes, your starting point, which is either your office or
home area, and you know it so well you do not need any help. The "end"
is too small to be helpful.

3. More on the last statement in (2): the end part is the most
important. Because big roads in the middle of the route are much
simpler, and harder to miss, than the final miles down to the small
local roads, which the driver probably has never been to (otherwise who
needs a map?).

4. I think the ideal direction printout should be:

- text directions, but mostly for reading BEFORE the trip.

- let user select rectangle areas on the map for printing, this could
include major exchanges and tricky parts of the route, the printing
resolution depends on the user's selection.