Friday, September 30, 2005
AJAX applications and websites
Writely - "The Web Word Processor" (note that for creating documents, it uses an HTML editor and then converts to Word format)
FCKeditor is also an MS Word-like web app. It's open source too.
gOFFICE - "a browser-based online word processor and desktop publishing program"
Num Sum - web-based spreadsheets - except only the author of a spreadsheet can edit it.
Kiko - Online calendar solution powered by Ajax.
Gmail and now the new Yahoo! Mail (Microsoft is rumored to be working on a Hotmail upgrade, codenamed Kahuna)
called S5 - web-based Powerpoint
Webnote - web-based version of Microsoft's OneNote
thinkfree - online Office suite
Openomy - online file-system
Bindows
Gliffy
Meebo
Zimbra
Wednesday, September 07, 2005
What Microsoft said...
http://www.microsoft.com/windowsvista/basics/default.mspx
The yellow-colore highlight is done by me to indicates the degree of exaggeration done by Microsoft. The green-color highlight indicates the seemingly good promises it made but clearly the age-old features found in other systems. The red-color highlight indicates something meaningless.
Windows Vista: A clear breakthrough
Windows Vista is a huge leap forward in personal computing. Advances in reliability, security, ease of deployment, performance, and manageability make it easy to:
• Confidently do what you want, when you want, and where you want
• Clearly organize your work and play in powerful new ways
• Connect seamlessly with other people, devices, and computers
Windows Vista has something for everyone. Users will love the fast startup time and even faster return from sleep state. IT departments face fewer user problems and enjoy more automated repair and easier administration. Organizations and enterprises benefit from less downtime, fewer IT hassles, and greater productivity.
Tuesday, July 12, 2005
Kiosk version of Knoppix Live CD
Customization highligts:
- Removal of lots of unused packages and those depend on them
- Remove orphaned packages
- Remove documentations, man pages and info pages
- Remove unused binaries from essential packages
- Remove sources, headers files, etc
- Remove all kinds of hot-keys, access-keys, toolbars and side-bars from Firefox
- Setup a tight prefs.js without proxy setting
- Customize ICEWM to show no desktop menu and dock
- Customize ICEWM to show no borders and window menu
- Remove all entries in /etc/apt/source.list to save disk space in /var/cache
- Disable all virtual consoles
- Disable inetd
- Disable cron and at daemons
- The added and modified boot params are toram, tz=Hongkong, and ramdisk=2560000
Expanded disk space:
root@not a tty[/]# cd / root@not a tty[/]# du -k . 364340
List of packages:
apmd apt apt-show-versions apt-utils ash-knoppix
base-files base-passwd bash bc bind9-host binutils binutils-dev bsdmainutils bsdutils bzip2
ca-certificates checkmem chkrootkit cloop-module cloop-utils console-common console-data console-tools convertfs coreutils cpio cpp cpp-3.3 cramfsprogs
dash dd-rescue debconf debconf-i18n debconf-utils debfoster debianutils deborphan debsums defoma devscripts dhcp3-common dhcp3-server dialog diff dmidecode dnsutils dpatch dpkg dpkg-dev dpkg-repack dselect
e2fslibs e2fsprogs ed etcskel-knoppix
fbset fdflush fdisk-udeb file fileutils findutils finger fontconfig fonts-ttf-decoratives fttools
gawk gcc-3.3-base gettext-base gpart grep grub gsfonts gsfonts-x11 gzip
hdparm hicolor-icon-theme hostname hotplug hotplug-knoppix hotplug-utils hwdata-knoppix hwsetup
icewm icewm-common ifupdown imlib-base imlib1 initrd-tools iptables
kbdconfig kernel-image-2.6.11 klogd knoppix-bookmarks knoppix-certificates knoppix-customize knoppix-dma knoppix-graphics knoppix-image knoppix-ndiswrapper knoppix-remountrw knx-installer kudzu-knoppix-dev kudzu-knoppix-vesa
lde less lha libacl1 libapm1 libapt-pkg-perl libatk1.0-0 libattr1 libblkid1 libbz2-1.0 libc6 libcap1 libcomerr2 libconsole libdb1-compat libdb3 libdb4.2 libdevmapper1.00 libdns16 libdps1 libexpat1 libfontconfig1 libfreetype6 libft-perl libgcc1 libgdbm3 libglib1.2 libglib2.0-0 libglib2.0-data libgtk1.2-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libice6 libidl0 libidn11 libisc7 libjcode-pm-perl libjpeg-progs libjpeg62 libkrb53 liblocale-gettext-perl liblwres1 libmagic1 libncurses5 libncursesw5 libnetpbm9 libnewt0.51 libnss3 libpam-modules libpam-runtime libpam0g libpango1.0-0 libpango1.0-common libpng10-0 libpng12-0 libpopt0 libreadline4 libsm6 libss2 libssl0.9.7 libstdc++2.10-glibc2.2 libstdc++5 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libtextwrap1 libtiff-tools libtiff4 libttf2 libungif4g libusb-0.1-4 libuuid1 libwrap0 libx11-6 libxaw7 libxcursor1 libxdelta2 libxext6 libxft1 libxft2 libxi6 libxmu6 libxmuu1 libxp6 libxpm4 libxrandr2 libxrender1 libxt6 libxtrap6 libxtst6 libxv1 lilo linux-kernel-headers-knoppix locales login loop-aes-module-2.6.11 loop-aes-utils lsb-base
m4 make makedev mawk mbr menu menu-xdg mime-support mkdesktophdicons-knoppix mkdosswapfile-knoppix modconf module-init-tools modutils mount mouseconfig mozilla-firefox
ncurses-base ncurses-bin net-tools netbase netcardconfig-knoppix netkit-inetd netkit-ping ntpdate nvi
openssl
partimage passwd patch pciutils perl perl-base perl-modules pkg-config powermgmt-base ppmtofb procps psfontmgr psmisc pump
rdate rebuildfstab-knoppix restartx-knoppix rootshell-knoppix rsync
saveconfig-knoppix scanpartitions-knoppix sed sharutils shellutils slang1 slang1a-utf8 smartmontools sshstart-knoppix startsyslog-knoppix sudo sudoers-knoppix symlinks sysklogd syslinux-knoppix sysutils sysvinit sysvinit-knoppix
tar tcpd textutils ttf-arphic-bkai00mp ttf-arphic-gkai00mp ttf-arphic-ukai ttf-freefont ttmkfdir
ucf unifont unionfs-module-2.6.11 unp unzip update usbutils user-profile-knoppix usleep-knoppix util-linux util-linux-locales
whiptail whois
x-ttcidfont-conf xbase-clients xdelta xfonts-100dpi xfonts-base xfonts-scalable xfree86-common xkbset xlibmesa-gl xlibmesa-glu xlibs xlibs-data xloadimage xserver-common xserver-xfree86 xsession-initscript-knoppix xsession-knoppix xterm xutils xviddetect
zip zlib1g
Saturday, July 09, 2005
Microsoft is making things complicated
It's obvious from its track record that Microsoft tends to make things complicated instead of making things simple. Ask yourself how many problems it has created since you used computer? Perhaps it is what they call as "innovation" and "business".
Thursday, June 30, 2005
Log on customizing a Knoppix CD
I'm responsible for the development of that online registration system using Linux, Apache, and PHP. During the registration, the students needs to work on our computers withing user account and password (they have not yet registered). We provide a dozen of kiosks for them to do the registration. Our department is used to use a customized Windows installed on removable harddisk for setting up kiosk. Usually they created a single disk and use Ghost to clone to other removable harddisk. This approach requires us to do cloning every year as the harddisks have to be returned for other purposes. It also requires us to keep the harddisk for a rather long period of time (around 1 to 2 months). Space is a major problem.
This year I would like to use a customized Knoppix Live-on-CD Linux to replace the removable harddisk altogether. Based on my experience on remastering a Knoppix CD last year for Linux Summer Course, I think it is a highly attractive way to serve the admission day registration purpose.
I immediately started to study the way to implement this option. Here is a list of requirements:
- No irrelevant software for the students to use except web browser
- No connection to Internet except to the web site of the online system
- No shell, especially no root shell.
- No reboot is possible except manually switch on and off of the PCs.
- The web browser cache nothing including the history
- Default home page is our online system
- Web browser should be started in full-screen
- The whole OS is run on RAM (in order to minimize the number of CD to burn)
On trimming down the full version Knoppix CD, I learned to use a useful tool:
Fedora Core 3 fails to install Grub
boot: linux rescue
... remember to answer "Yes" to the question of mounting the located FC3 installation...
sh-2.05# chroot /mnt/sysimage /sbin/grub-install /dev/hda
Friday, May 20, 2005
Apple Mac OS X - Tiger
http://www.macdevcenter.com/pub/a/mac/2005/05/13/tiger_tips.html

Thursday, May 19, 2005
Screenshots of various Linux and Opensource software
Saturday, May 14, 2005
Another testing of mail-to-blogger feature
Good luck again!
--
:: http://stopthewall.org | http://spreadfirefox.com | http://wongyb.hk.st
Testing of mail-to-blogger feature
This blog posting is done by email from my GMail account using Blogger.com's Mail-to-Blogger feature.
I hope it works right a way!
Good luck!
--
:: http://stopthewall.org | http://spreadfirefox.com | http://wongyb.hk.st
Wednesday, May 11, 2005
Pseudo Mailing List in GMail
1/ Create a CSV (comma-separated) file:
"Email","Remark"
"<email_1>@<domain>","Mailing list name"
"<email_2>@<domain>","Mailing list name"
"<email_3>@<domain>","Mailing list name"
"<email_4>@<domain>","Mailing list name"
"<email_5>@<domain>","Mailing list name"
N.B.
- All fields are double-quoted
- No space around comma
- The header line is a must
- It's okay to have email that is already in your GMail Contact List
- Select "Contact"
- Select "Import"
- Enter the CSV filename
- Press "Import"
3/ Send email to the mailing list
- Select "Contact"
- Enter "Mailing List Name"
- Press "Search"
- Click the checkbox of the first entry in the returned list
- Click the checkbox of the last entry in the returned list while pressing the Ctrl and Shift key at the same time.
- Click "Compose".
There is an extra benefit: A carefully crafted remark makes a single email address belong to a multiple mailing list.
SAGE description of system administrator
http://www.sage.org/pubs/8_jobs/
I believe I'm Level III system administrator... see my resume.
Sun's website looks better
Tuesday, May 10, 2005
Critical security flaws in Firefox
To me, there are two major sources of security bugs: 1) careless programming mistake and poor coding skill, 2) imprefect programming logic. Both are bad, but the former one is a lot more terrible than the latter one, as good programming skill to quality software is almost as essential and vital as breathing to life. Concerning about imprefect programming logic, I would think of it as a legal system in a society or country. Law provides a set of rules defining what we can do and what we can't do. Law is such a complicated system that it is always on the way of improving. No legal system is prefect. So as software. User requirement is always changing. New features are being introduced continously. Old and unused components are kept removing. Software are almost always in beta stage. How can we provide a software that is safER to use, knowing that a piece of software can never be prefect? How can we systemically and efficiently find loophole in a piece of software?
Battlefield
Monday, May 09, 2005
Building Cocoa application
http://maczealots.com/articles/development/
Build a Cocoa core data app:
http://www.cocoadevcentral.com/articles/000085.php
Friday, May 06, 2005
seek() in Perl
The script reads in a system log file, process it and calculate statistics. From time to time, the log file might grew very large, making the script run very long. As the script is kick-started by cron, a new run starts no matter whether the previously one is finished or not. The server got to 700+ loading yesterday! Linux is really robust that even when the system got to 700+ loading it is still running. Just plain slow.
Looking for solution, I plan to change the log file handling of the script to skip all those entries that are processed in the last run. As the script is started periodically, the new entries since the last run would not be too many. The script can then be run thousand time more faster. In Perl, there is a function called "seek() which advance the pointer of a file handle to a specified byte from the beginning of the file. It is the same function as that in C. Thanks God my server is running smoothly now.
Apple Tiger samba mount "problem"
Going through a number of testings on his Tiger and Panther machines and looking for user discussion or bug reports on Internet, I finally figured out that Tiger is senting our password to SMB server in "encrypted" form. Sound familar? Yes, it is the same as what has happened when Microsoft Windows 98 launched. Tiger supports/uses NTLMv2 Authentication for SMB.
The problem now is that we would like to support encrypted password if there is no other sound solution for password protection (When will IPsec or IPv6 be prevalent?), but there are still client machines who are still relying on unencrypted password. The worst is that people are still very much like to use our Unix password to do all kinds of authentication. It's probably because they use it to read their email. As you know, Unix does not support encrypted password. Perhaps, we need either to synchronize the password in Unix and NT servers, or employ SMB password and syncrhonizing it with that of the Unix passwords.
Let's see.
Hello World!
"Hello World!"
Creating this blog is a little bit more time-consuming than what I've been doing before largely because of the name of this blog. As a system admin, I choose "sysadmin", "sysadm", "varlog", "syslog", "motd", etc as the name of this blog. Unfortunately all are used by someone else. But fortunately, I still can get what I want. You know, it is "sysconfig"! Well done!
