<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6948343</id><updated>2011-12-21T18:20:55.635+01:00</updated><category term='linux'/><category term='gpt'/><category term='screen'/><category term='router'/><category term='dvtm'/><category term='portage'/><category term='olpc'/><category term='dtach'/><category term='syslinux'/><category term='mandriva'/><category term='gentoo'/><category term='x11'/><category term='udf'/><category term='password recovery'/><category term='tmux'/><category term='extlinux'/><category term='zacate'/><category term='interoperability'/><category term='nouveau'/><category term='file system'/><category term='OpenMoko'/><category term='opinion'/><category term='windows'/><category term='amd'/><category term='classmate pc'/><category term='mini-itx'/><title type='text'>Blog: Nguyễn Chí Thanh Christopher</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6948343.post-8539316241723840288</id><published>2011-12-21T01:14:00.000+01:00</published><updated>2011-12-21T01:14:56.003+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='x11'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>xorg-server-1.11 going stable</title><content type='html'>In &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=394393"&gt;bug 394393&lt;/a&gt;, a number of x11 packages are going stable, including x11-base/xorg-server-1.11.2-r2.&lt;br /&gt;After you upgrade, don't forget to rebuild your x11-drivers packages. Use the command that is shown in the elog messages to find out which. In case you missed it: &lt;br /&gt;&lt;pre&gt;# qlist -I -C x11-drivers/&lt;br /&gt;&lt;/pre&gt;The output of qlist can be directly passed to emerge like this:&lt;br /&gt;&lt;pre&gt;# emerge -1 $(qlist -I -C x11-drivers/)&lt;br /&gt;&lt;/pre&gt;If you are sitting at a gdm/kdm/xdm/... login prompt and can't type anything, press Alt+SysRq+R to switch to raw input mode and Ctrl+Alt+F1 will bring you back to the console.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-8539316241723840288?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/8539316241723840288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=8539316241723840288' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/8539316241723840288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/8539316241723840288'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2011/12/xorg-server-111-going-stable.html' title='xorg-server-1.11 going stable'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-3238613984489670675</id><published>2011-11-14T14:44:00.000+01:00</published><updated>2011-11-14T14:44:52.881+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='portage'/><title type='text'>Should portage hide build output from the user by default?</title><content type='html'>&lt;span class="postbody"&gt;There has recently been a discussion on gentoo-dev about making portage output less noisy &lt;br /&gt;&lt;a href="http://archives.gentoo.org/gentoo-dev/msg_4f0401066abe2dc04458a952ac2a17bd.xml" target="_blank"&gt;http://archives.gentoo.org/gentoo-dev/msg_4f0401066abe2dc04458a952ac2a17bd.xml&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;A solution was implemented to suppress the build output (the configure,  make and install) by default, unless the user specifies --quiet-build=n  explicitly. There were both supporters and critics of that idea, but no  real data about what users think.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;If you have an opinion on this, please visit&amp;nbsp; the forums and participate in the poll and/or comment in the forum thread:&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;a href="http://forums.gentoo.org/viewtopic-t-901858.html"&gt;http://forums.gentoo.org/viewtopic-t-901858.html&lt;/a&gt; (plain)&lt;br /&gt;&lt;a href="https://forums.gentoo.org/viewtopic-t-901858.html"&gt;https://forums.gentoo.org/viewtopic-t-901858.html&lt;/a&gt; (ssl)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-3238613984489670675?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/3238613984489670675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=3238613984489670675' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/3238613984489670675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/3238613984489670675'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2011/11/should-portage-hide-build-output-from.html' title='Should portage hide build output from the user by default?'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-2511599143873559476</id><published>2011-02-04T16:55:00.000+01:00</published><updated>2011-02-04T16:55:19.111+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amd'/><category scheme='http://www.blogger.com/atom/ns#' term='zacate'/><category scheme='http://www.blogger.com/atom/ns#' term='mini-itx'/><title type='text'>New toy: AMD E-350 Zacate motherboard</title><content type='html'>&lt;div class="separator" style="clear: both;"&gt;&lt;a href="http://1.bp.blogspot.com/_jeci2OJRJNY/TUwRF1FcaYI/AAAAAAAAAt8/gkwP9emgbMo/s1600/DSC00001.JPG"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_jeci2OJRJNY/TUwRF1FcaYI/AAAAAAAAAtk/KgAtr5LH7EI/s320/DSC00001.JPG" style="float: right;" width="320" /&gt;&lt;/a&gt;Today I picked up an ASRock E350M1 from a local computer store for 94 EUR. I'll never be able to use an Atom again!&amp;nbsp;&lt;/div&gt;&lt;div class="separator"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator"&gt;On this mobo, there is an AMD E-350 Dual-Core CPU with a Radeon 6310 (comparable to 5450) graphics core. To use this board with open source drivers, you need xf86-video-ati-6.14.0 and kernel 2.6.38_rc1 or later. The proprietary driver supports it too, but I didn't test that.&lt;/div&gt;&lt;div class="separator"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator"&gt;According to various reviews, the E-350 does fairly well against the competition. Let's see how long compiling LibreOffice will take.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-2511599143873559476?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/2511599143873559476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=2511599143873559476' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/2511599143873559476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/2511599143873559476'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2011/02/new-toy-amd-e-350-zacate-motherboard.html' title='New toy: AMD E-350 Zacate motherboard'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jeci2OJRJNY/TUwRF1FcaYI/AAAAAAAAAtk/KgAtr5LH7EI/s72-c/DSC00001.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-2248813854701208320</id><published>2010-11-28T23:31:00.000+01:00</published><updated>2010-11-28T23:31:21.723+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Mesa 7.9 with Gallium3D entered ~arch</title><content type='html'>Mesa 7.9 was just added to the portage tree. Along with it came a new eselect module, eselect-mesa, which allows you to switch between classic and gallium drivers.&lt;br /&gt;&lt;br /&gt;Especially interesting are the Radeon r300 and software renderer gallium drivers, which can give a significant performance and feature boost over the classic counterparts (enable USE="llvm" for best results). Gallium hardware drivers &lt;a href="http://www.gentoo.org/doc/en/xorg-config.xml#doc_chap2_sect3"&gt;require DRI2/KMS&lt;/a&gt; to be active.&lt;br /&gt;&lt;br /&gt;Please give it a good testing and &lt;a href="https://bugs.gentoo.org/"&gt;report any issues that you find&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-2248813854701208320?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/2248813854701208320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=2248813854701208320' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/2248813854701208320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/2248813854701208320'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2010/11/mesa-79-with-gallium3d-entered-arch.html' title='Mesa 7.9 with Gallium3D entered ~arch'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-825404516500257817</id><published>2010-08-17T17:42:00.000+02:00</published><updated>2010-08-17T17:42:24.419+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='syslinux'/><category scheme='http://www.blogger.com/atom/ns#' term='extlinux'/><category scheme='http://www.blogger.com/atom/ns#' term='gpt'/><title type='text'>Booting from a btrfs filesystem in a GPT-partitioned USB flash drive attached to a non-EFI system</title><content type='html'>Previously thought impossible, thanks to syslinux 4 this feat can now be achieved in a few easy steps.&lt;br /&gt;&lt;h3&gt;Background&lt;/h3&gt;Recently, I had a talk on IRC with the developer of the Arch Linux installer, who wanted to enable Arch Linux installation on legacy BIOS systems with GPT partitioned media.&lt;br /&gt;As I usually carry a bootable USB flash stick with me, containing the netboot installers for various popular Linux distros (don't worry, all of them can be abused to install Gentoo as well), I thought that maybe it is time to get this up to date with the latest and greatest in partitioning and file systems.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Why GPT?&lt;br /&gt;GPT, short form of GUID Partition Table, is the standard for EFI systems and is intended to replace MBR style partition tables. Advantages of GPT include support for up to 128 partitions (no distinction between primary and logical), no limitation to 2³² sector disks (2 TiB for 512 byte sectors), and increased redundancy for easier recovery.&lt;/li&gt;&lt;li&gt;Why btrfs?&lt;br /&gt;No real reason, other than it being the new hotness (&lt;a href="http://thread.gmane.org/gmane.comp.file-systems.btrfs/5985"&gt;in spite of some design flaws&lt;/a&gt;).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Why syslinux?&lt;br /&gt;EXTLINUX from the syslinux family of boot loaders can boot both from GPT and btrfs. An alternative would be GRUB 2, which however &lt;a href="http://thread.gmane.org/gmane.comp.boot-loaders.grub.devel/16231"&gt;uses not&lt;/a&gt; the &lt;a href="http://thread.gmane.org/gmane.comp.boot-loaders.grub.devel/16208"&gt;standardized method&lt;/a&gt; described in &lt;a href="http://www.t13.org/Documents/UploadedDocuments/docs2010/e09127r3-EDD-4_Hybrid_MBR_boot_code_annex.pdf"&gt;T13 EDD-4 Annex 1&lt;/a&gt; and needs special patching for btrfs still.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Prerequisites&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;A USB flash drive of &amp;gt;256 MiB capacity&lt;/li&gt;&lt;li&gt;sys-apps/gdisk&lt;/li&gt;&lt;li&gt;&amp;gt;=sys-boot/syslinux-4.00&lt;/li&gt;&lt;li&gt;sys-fs/btrfs-progs&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Partitioning&lt;/h3&gt;When first launching gdisk you will be greeted by a message that either the disk was found unpartitioned and a new GPT has been created, or that your existing MBR has been converted to GPT. In this example we use /dev/sdc as the device and /mnt/usb as the mount point.&lt;br /&gt;&lt;pre&gt;# gdisk /dev/sdc&lt;br /&gt;GPT fdisk (gdisk) version 0.6.9&lt;br /&gt;&lt;br /&gt;Partition table scan:&lt;br /&gt;&amp;nbsp; MBR: not present&lt;br /&gt;&amp;nbsp; BSD: not present&lt;br /&gt;&amp;nbsp; APM: not present&lt;br /&gt;&amp;nbsp; GPT: not present&lt;br /&gt;&lt;br /&gt;Creating new GPT entries.&lt;br /&gt;&lt;/pre&gt;Now we proceed to create a partition (gdisk syntax follows fdisk closely) and then enter expert mode to mark this partition legacy BIOS bootable.&lt;br /&gt;&lt;pre&gt;Command (? for help): n&lt;br /&gt;(answer the questions)&lt;br /&gt;Command (? for help): x&lt;br /&gt;Expert command (? for help): a&lt;br /&gt;Using 1&lt;br /&gt;Attribute value is 0000000000000000. Set fields are:&lt;br /&gt;Known attributes are:&lt;br /&gt;0 - system partition&lt;br /&gt;1 - hide from EFI&lt;br /&gt;2 - legacy BIOS bootable&lt;br /&gt;60 - read-only&lt;br /&gt;62 - hidden&lt;br /&gt;63 - do not automount&lt;br /&gt;Toggle which attribute field (0-63, 64 to exit): 61&lt;br /&gt;&lt;/pre&gt;Note that due to a bug in gdisk-0.6.9 and earlier, you need to enter 61 instead of 2. This will be fixed in a future release. Verify that you have the correct attribute flags, which are 0000000000000004. Now write the partition table to disk and exit gdisk.&lt;br /&gt;&lt;h3&gt;Installing the MBR/GPT boot code and EXTLINUX boot loader&lt;/h3&gt;Install the GPT boot code into the MBR&lt;br /&gt;&lt;pre&gt;# dd if=/usr/share/syslinux/gptmbr.bin of=/dev/sdc&lt;/pre&gt;Create a btrfs filesystem in the partition&lt;br /&gt;&lt;pre&gt;# mkfs.btrfs /dev/sdc1&lt;/pre&gt;Install the EXTLINUX boot loader into the partition&lt;br /&gt;&lt;pre&gt;# mount /dev/sdc1 /mnt/usb&lt;br /&gt;# extlinux -i /mnt/usb&lt;br /&gt;/mnt/usb is device /dev/sdc1&lt;br /&gt;# cp /usr/share/syslinux/menu.c32 /mnt/usb &lt;/pre&gt;&lt;h3&gt;Configuring the boot loader&lt;/h3&gt;In this example, we put the Debian Squeeze amd64 netboot installer on the USB drive. Same thing works for the netboot (sometimes called PXE) installers of other distros too.&lt;br /&gt;&lt;pre&gt;# mkdir /mnt/usb/debian-amd64&lt;br /&gt;# cd /mnt/usb/debian-amd64&lt;br /&gt;# wget http://ftp.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux&lt;br /&gt; http://ftp.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz&lt;/pre&gt;Create /mnt/usb/extlinux.conf with the following content:&lt;br /&gt;&lt;pre&gt;DEFAULT menu.c32&lt;br /&gt;PROMPT 0&lt;br /&gt;MENU TITLE Select Installer&lt;br /&gt;&lt;br /&gt;LABEL debian-amd64&lt;br /&gt;   MENU LABEL Debian Squeeze amd64&lt;br /&gt;   KERNEL /debian-amd64/linux&lt;br /&gt;   APPEND initrd=/debian-amd64/initrd.gz&lt;/pre&gt;Now your USB stick should be bootable and ready to use.&lt;br /&gt;&lt;h3&gt;Other Thoughts&lt;/h3&gt;While syslinux supports chainloading on GPT disks, you cannot boot Windows this way, because Windows &lt;a href="http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx"&gt;requires an EFI system&lt;/a&gt; in order to boot from GPT.&lt;br /&gt;ChromeOS uses a slightly different method of booting from GPT, which resembles the old syslinux 3 and current FreeBSD way (even using the gpt utility from FreeBSD). If you are interested in their way, look at the ChromeOS &lt;a href="http://src.chromium.org/cgi-bin/gitweb.cgi?p=installer.git;a=blob;f=chromeos-common.sh"&gt;installer&lt;/a&gt; &lt;a href="http://src.chromium.org/cgi-bin/gitweb.cgi?p=installer.git;a=blob;f=chromeos-install"&gt;scripts&lt;/a&gt; and the &lt;a href="http://src.chromium.org/cgi-bin/gitweb.cgi?p=gpt.git"&gt;gpt utility&lt;/a&gt;.&lt;br /&gt;A nice description of the issues surrounding booting from GPT can be found at the &lt;a href="http://www.rodsbooks.com/gdisk/booting.html"&gt;gdisk website&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-825404516500257817?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/825404516500257817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=825404516500257817' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/825404516500257817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/825404516500257817'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2010/08/booting-from-btrfs-filesystem-in-gpt.html' title='Booting from a btrfs filesystem in a GPT-partitioned USB flash drive attached to a non-EFI system'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-8060871858172041932</id><published>2010-07-19T17:27:00.002+02:00</published><updated>2010-07-22T00:20:33.785+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='tmux'/><category scheme='http://www.blogger.com/atom/ns#' term='dtach'/><category scheme='http://www.blogger.com/atom/ns#' term='dvtm'/><title type='text'>Three-way mini shootout between GNU screen, tmux and dtach+dvtm</title><content type='html'>When it comes to terminal managers in Linux, it usually boils down to three choices: screen, tmux or the dtach+dvtm duo. Proponents of each often vigorously tout their solution as the best. So let's see how they compare.&lt;br /&gt;&lt;h3&gt;The Contenders&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;GNU screen&lt;/b&gt; is the oldest and perhaps most widely used of the terminal managers in this comparison. It has been around since the 1980s and made thousands if not millons of users' lives easier since then.&lt;/li&gt;&lt;li&gt;&lt;b&gt;tmux&lt;/b&gt; is a relative newcomer, the first release dating to late 2007. It was developed specifically with the goal of overcoming limitations in the implementation of screen.&lt;/li&gt;&lt;li&gt;&lt;b&gt;dvtm&lt;/b&gt; is best described as tiling window manager for the console. First released in late 2007 too, it lacks the disconnection/reattachment feature of the other two solutions, so it will unleash its full power only in combination with dtach which does exactly that. (Using screen/tmux with dvtm is also possible.) dtach was released in 2004.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://1.bp.blogspot.com/_jeci2OJRJNY/TERl2q8oFtI/AAAAAAAAAlg/sYnAxztArjI/s1600/gnu_screen.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="381" src="http://1.bp.blogspot.com/_jeci2OJRJNY/TERl2q8oFtI/AAAAAAAAAlg/sYnAxztArjI/s400/gnu_screen.png" title="GNU screen" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;The Parcours&lt;/h3&gt;The contenders will have to show how they perform in the aspects that matter to the modern geek. This includes mind share, adherence to Unix philosophy, features, efficient use of resources and ease of use.&lt;br /&gt;&lt;h3&gt;Mind share&lt;/h3&gt;GNU screen has been around longest, so has had more time to capture users. Measuring popularity using Google is a bit difficult, as searching for "GNU screen" (with the quotes) will probably under-report while searching for "screen" will over-report actual numbers. A &lt;a href="http://www.google.com/trends?q=gnu+screen%2C+tmux%2C+dtach+dvtm"&gt;Google Trends&lt;/a&gt; analysis omitting the quotes sees screen in front, with tmux a distant second. This more or less matches the &lt;a href="http://popcon.debian.org/"&gt;Debian Popularity Contest&lt;/a&gt;, which currently clocks screen at position #756, tmux at #6159 and dtach/dvtm at #6242 and #8604 respectively.&lt;br /&gt;&lt;b&gt;Winner: screen&lt;/b&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_jeci2OJRJNY/TERheAF0jRI/AAAAAAAAAlY/Ghw57qTpDLI/s1600/dtach%2Bdvtm.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="381" src="http://3.bp.blogspot.com/_jeci2OJRJNY/TERheAF0jRI/AAAAAAAAAlY/Ghw57qTpDLI/s400/dtach%2Bdvtm.png" title="dtach+dvtm" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Unix Philosophy&lt;/h3&gt;The Unix tools were developed with several precepts in mind, an important one being "Make each program do (exactly) one thing well". In this tradition, dvtm tried not to include everything but the kitchen sink, but instead leaves the disconnection/reattachment function to dtach, and displays auxiliary data such as the status bar and clock via named pipes.&lt;br /&gt;screen and tmux on the other hand integrate all functions in one large binary.&lt;br /&gt;&lt;b&gt;Winner: dtach+dvtm&lt;/b&gt;&lt;br /&gt;&lt;h3&gt;Features&lt;/h3&gt;Besides the ability to open several shells in one terminal/console, all contenders have a scrollback buffer, can do copy and paste and display status information. Both dvtm and tmux have mouse support and are able to align multiple shells nicely, not like in screen's limited fashion. Its client/server model allows tmux however to provide one notable feature, sending/sharing sessions between different connected clients. [&lt;b&gt;Update:&lt;/b&gt; A commenter alerts me to the fact that screen can do this too. Still, tmux has more features.]&lt;br /&gt;&lt;b&gt;Winner: tmux&lt;/b&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_jeci2OJRJNY/TERqGP2PkeI/AAAAAAAAAlo/RAbEe0wTgmI/s1600/tmux.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="381" src="http://2.bp.blogspot.com/_jeci2OJRJNY/TERqGP2PkeI/AAAAAAAAAlo/RAbEe0wTgmI/s400/tmux.png" title="tmux" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Efficient use of resources&lt;/h3&gt;In the time that screen has been around, it was able to accumulate a lot of legacy code, which results in a download size of 821 KiB. tmux is noticeably smaller, only 237 KiB. But this is still huge in comparison to dtach and dvtm, whose combined download size is only 81 KiB. This is probably due to their adherence to Unix principles, which helps to keep the bloat at bay.&lt;br /&gt;But not only the download is smaller, the memory usage of a dtach+dvtm session is significantly below that of the others, too.&lt;br /&gt;&lt;b&gt;Winner: dtach+dvtm&lt;/b&gt;&lt;br /&gt;&lt;h3&gt;Ease of use&lt;/h3&gt;The best way to start screen or tmux is just running the binary. You will be immediately in an environment where you can use all the features. dtach and dvtm have to be started together, and the user himself has to manage the dtach sessions manually.&lt;br /&gt;&lt;b&gt;Winner: Tie between screen and tmux&lt;/b&gt;&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;All contenders have been able to win two of the comparisons. If you are already used to screen and don't need the extra features of tmux, then you can stay with screen.&lt;br /&gt;If you prefer an elegant and Unix-like approach, dtach+dvtm are what you want.&lt;br /&gt;If you however want many features and a solution that Just Works™, then tmux may be for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-8060871858172041932?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/8060871858172041932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=8060871858172041932' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/8060871858172041932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/8060871858172041932'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2010/07/three-way-mini-shootout-between-gnu.html' title='Three-way mini shootout between GNU screen, tmux and dtach+dvtm'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jeci2OJRJNY/TERl2q8oFtI/AAAAAAAAAlg/sYnAxztArjI/s72-c/gnu_screen.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-3787961110884375774</id><published>2010-06-03T00:28:00.001+02:00</published><updated>2010-06-03T09:42:43.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Mesa and Gallium3D</title><content type='html'>Gallium3D is the new driver architecture for Mesa. In the X11 overlay you will now find an eselect mesa module, which in conjunction with the live mesa ebuild allows you to switch between classic and gallium.&lt;br /&gt;&lt;br /&gt;Of course, this only works for drivers which exist both in a classic and gallium version. At the time of writing these are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;i915, i965: The gallium drivers for Intel chipsets are presently inferior to the classic drivers. There is little reason to use them at this time.&lt;/li&gt;&lt;li&gt;Radeon r300: The radeong gallium driver works well and has recently surpassed the classic driver in terms of features and performance.&lt;/li&gt;&lt;li&gt;Radeon r600: The r600g gallium driver was added to mesa a week ago and does not do anything useful yet.&lt;/li&gt;&lt;li&gt;Software renderer: If Mesa was built with the "llvm" USE flag enabled, then the gallium llvmpipe driver will give you much improved performance over the classic software rasterizer. As a tile based renderer it will use multithreading too. However some graphical glitches are still visible.&lt;/li&gt;&lt;/ul&gt;If you encounter any issues with eselect mesa, feel free to join &lt;a href="irc://irc.freenode.net/#gentoo-desktop"&gt;#gentoo-desktop&lt;/a&gt; on freenode or report a &lt;a href="https://bugs.gentoo.org/"&gt;bug&lt;/a&gt;, prefixing the summary with "[x11 overlay]".&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; If you had already installed mesa-9999 from the X11 overlay, please rebuild it to ensure proper functioning of the eselect module.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-3787961110884375774?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/3787961110884375774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=3787961110884375774' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/3787961110884375774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/3787961110884375774'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2010/06/mesa-and-gallium3d.html' title='Mesa and Gallium3D'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-2073349043540254889</id><published>2010-04-26T18:54:00.000+02:00</published><updated>2010-04-26T18:54:31.038+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nouveau'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Nouveau on Gentoo</title><content type='html'>For some time already, Gentoo has provided packages for the open source &lt;a href="http://nouveau.freedesktop.org/"&gt;nouveau&lt;/a&gt; driver for NVidia graphics chipsets. Some users have discovered this and attempted to install nouveau, running into a few problems, most commonly experiencing the &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=305595"&gt;API break&lt;/a&gt; before libdrm 2.4.18 and after kernel 2.6.33.&lt;br /&gt;&lt;h3&gt;Should I run nouveau or not?&lt;/h3&gt;Nouveau works strictly better than xf86-video-nv and has the following philosophical and technical advantages over the proprietary driver:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open source.&lt;/li&gt;&lt;li&gt;Can always build with the latest kernel and xorg-server code from git.&lt;/li&gt;&lt;li&gt;Supports all Riva TNT, GeForce and integrated chipsets, except for the GTX 400 series.&lt;/li&gt;&lt;li&gt;Kernel Modesetting for framebuffer console at native display resolution and flicker-free vt switch.&lt;/li&gt;&lt;li&gt;XRandR 1.2 support for dynamic output configuration.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;/h3&gt;Nouveau does however not yet support some features of the proprietary driver. So if you depend on those, you will have to stay with the blob for now:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No power management support.&lt;/li&gt;&lt;li&gt;No video decode acceleration.&lt;/li&gt;&lt;li&gt;Limited multi-card support (all non-primary cards must be NV50/G80 or later generation, no SLI)&lt;/li&gt;&lt;li&gt;TV-out only works on NV40 and older.&lt;/li&gt;&lt;li&gt;3D acceleration is experimental and not recommended for the timid.&lt;/li&gt;&lt;/ul&gt;Check the nouveau &lt;a href="http://nouveau.freedesktop.org/wiki/FeatureMatrix"&gt;Feature Matrix&lt;/a&gt; for more details.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;h3&gt;Installing nouveau on Gentoo&lt;/h3&gt;If you have decided that you want to try nouveau, the best way to proceed depends on whether you run a (mostly) stable system, an unstable (~arch) system or whether you always live on the bleeding edge of development.&lt;br /&gt;&lt;br /&gt;Before you begin, ensure that eselect opengl is set to x11 and you are not loading the proprietary nvidia kernel module.&lt;br /&gt;&lt;br /&gt;Stable users: You can run nouveau on an otherwise stable system with the following packages from ~arch:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kernel 2.6.33 (set DRM_NOUVEAU=m or =y)&lt;/li&gt;&lt;li&gt;x11-drivers/xf86-video-nouveau (latest version)&lt;/li&gt;&lt;li&gt;x11-drivers/nouveau-firmware (only needed for NV50 generation cards)&lt;/li&gt;&lt;/ul&gt;However the drm in kernel 2.6.33 is a bit old and will not support the integrated 8200/8300/9300/9400/ION chipsets.&lt;br /&gt;&lt;br /&gt;~arch users and stable users who want newer nouveau: You cannot use the nouveau drm in kernel 2.6.33 with the unstable version of x11-libs/libdrm due to the aforementioned API break. So you need the following packages:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;x11-base/nouveau-drm (latest version), see &lt;a href="http://nouveau.freedesktop.org/wiki/InstallDRM#out-of-treebuild.28alternative.29"&gt;here&lt;/a&gt; if it complains about missing kernel options which you cannot find in menuconfig&lt;/li&gt;&lt;li&gt;x11-drivers/xf86-video-nouveau (latest version) &lt;/li&gt;&lt;li&gt;&amp;gt;=x11-libs/libdrm-2.4.18&lt;/li&gt;&lt;/ul&gt;Bleeding edge users, or users who want 3D acceleration: You should run the latest kernel and mesa code for best results:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Nouveau from Kernel 2.6.34_rc4 or newer, or x11-base/nouveau-drm-9999 from the x11 overlay (needs 2.6.34_rc2 at least)&lt;/li&gt;&lt;li&gt;x11-drivers/xf86-video-nouveau (latest version)&lt;/li&gt;&lt;li&gt;&amp;gt;=x11-libs/libdrm-2.4.20&lt;/li&gt;&lt;li&gt;=media-libs/mesa-9999 from the x11 overlay, built with USE="gallium" and VIDEO_CARDS="nouveau" (only if you want the experimental 3D acceleration for which nouveau developers provide no end user support).&lt;/li&gt;&lt;/ul&gt;Stop by in &lt;a href="irc://irc.freenode.net/#gentoo-desktop"&gt;#gentoo-desktop&lt;/a&gt; on freenode or post in the &lt;a href="http://forums.gentoo.org/"&gt;forums&lt;/a&gt; if you have any questions.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-2073349043540254889?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/2073349043540254889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=2073349043540254889' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/2073349043540254889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/2073349043540254889'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2010/04/nouveau-on-gentoo.html' title='Nouveau on Gentoo'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-4073539749002671139</id><published>2007-12-27T16:17:00.000+01:00</published><updated>2007-12-27T16:54:37.754+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file system'/><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='udf'/><title type='text'>UDF, the new lingua franca of filesystems?</title><content type='html'>Not too long ago, when creating a filesystem on a removable storage device, or on a hard disk shared between several different operating systems, the natural choice was &lt;a href="http://en.wikipedia.org/wiki/File_Allocation_Table"&gt;FAT32&lt;/a&gt;. FAT32 is reasonably well supported on all major OSes, however its limitations  (eg. 4G maximum file size) make it unsuitable for large media.&lt;br /&gt;&lt;br /&gt;So what is an adequate replacement for FAT32? &lt;a href="http://en.wikipedia.org/wiki/NTFS"&gt;NTFS&lt;/a&gt; support in Linux has improved a lot in the last years. Unfortunately, it is based on reverse engineering instead of public specifications. Due to its proprietary nature, the NTFS specification can change without notice, possibly leading to &lt;a href="http://bugs.debian.org/379628"&gt;data loss/corruption&lt;/a&gt; when accessed with unprepared tools.&lt;br /&gt;&lt;br /&gt;Enter &lt;a href="http://en.wikipedia.org/wiki/Universal_Disk_Format"&gt;UDF&lt;/a&gt;, which was developed for removable optical media, has no silly limitations and can be read and written to by current versions of Linux, Windows and Mac OS X. One minor issue is that the UDF specification does not allow placing it inside a partition, it must always occupy a whole disk. But no ill effects are expected from ignoring this.&lt;br /&gt;&lt;br /&gt;Now in Linux create a partition of type 0x7 (IFS), run &lt;code&gt;mkudffs&lt;/code&gt;, and boot into Windows. Whoops, no filesystem recognized. Ok then, run &lt;code&gt;format /fs:udf&lt;/code&gt; then boot into Linux again. Whoops, UDF-fs says "No partition found". Experiment with different UDF revisions, no luck. Examine more closely, find out that the Linux UDF driver defaults to a block size of 2048 bytes, while Windows format uses 512 byte blocks. Mount with &lt;code&gt;mount -o bs=512&lt;/code&gt; and it works! Well, almost.&lt;br /&gt;&lt;br /&gt;Copy a small file on the partition and it is recognized by the other OS. Copy a 6G file with Linux, and Windows doesn't see it. What is going on here?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-4073539749002671139?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/4073539749002671139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=4073539749002671139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/4073539749002671139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/4073539749002671139'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2007/12/udf-new-lingua-franca-of-filesystems.html' title='UDF, the new lingua franca of filesystems?'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-1347331099803886038</id><published>2007-11-04T00:51:00.000+01:00</published><updated>2007-11-04T02:14:20.590+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='olpc'/><category scheme='http://www.blogger.com/atom/ns#' term='mandriva'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='classmate pc'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Nigeria dumps Linux, or: Mandriva in bed with the wrong people</title><content type='html'>It's all &lt;a href="http://www.theinquirer.net/gb/inquirer/news/2007/11/02/trojan-knocks"&gt;over&lt;/a&gt; &lt;a href="http://lwn.net/Articles/256723/"&gt;the&lt;/a&gt; &lt;a href="http://linux.slashdot.org/linux/07/11/01/1331202.shtml"&gt;news&lt;/a&gt;, Mandriva closes a deal to deliver thousands of laptops to schoolchildren in Nigeria with Mandriva Linux preinstalled. Then suddenly the customer decides to replace Linux with Windows. Mandriva CFO cries "foul" and the usual frenzy ensues.&lt;br /&gt;&lt;br /&gt;A sad day for Mandriva? Certainly. A sad day for education in developing countries? Not particularly. For their project, Mandriva chose the Classmate PC, a &lt;span style="font-style: italic;"&gt;laptop project&lt;/span&gt; which was envisioned by Intel after the latter missed out on the OLPC &lt;span style="font-style: italic;"&gt;educational project&lt;/span&gt; and had to hack together something cheap. The folks at OLPC however realized from the very beginning that selling stripped-down ordinary computers below cost would bring them nowhere.&lt;br /&gt;&lt;br /&gt;Now the whining is all about how hard it was to coordinate everything, how much work went into it, and so on. But they chose an inferior and unsustainable platform. The OLPC's visionary design required a clean software design to complement it, something Microsoft has had a &lt;a href="http://www.0xdeadbeef.com/weblog/?p=285"&gt;hard time to achieve&lt;/a&gt;. Making the Classmate PC run Windows doesn't cost Microsoft a thing, so it's hardly surprising that they opted for piggybacking into Nigerian classrooms.&lt;br /&gt;&lt;br /&gt;I hope Mandriva have learned their lesson and stop being bad losers. They have interesting products in the pipeline. Had their laptop been based on the same CPU as their upcoming &lt;a href="http://www.linux.com/feature/119890"&gt;Loongson Box&lt;/a&gt;, they wouldn't be in that position now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-1347331099803886038?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/1347331099803886038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=1347331099803886038' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/1347331099803886038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/1347331099803886038'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2007/11/nigeria-dumps-linux-or-mandriva-in-bed.html' title='Nigeria dumps Linux, or: Mandriva in bed with the wrong people'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-4630996738363899228</id><published>2007-10-08T23:09:00.000+02:00</published><updated>2007-10-08T23:56:29.570+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='password recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='router'/><title type='text'>How to recover dial-in passwords from broadband/dsl/cable routers</title><content type='html'>Ever got into the situation where you need the dial-in password for your ISP and you either lost or forgot it? And it won't be shown in the router's configuration interface or you lost &lt;span style="font-style: italic;"&gt;that&lt;/span&gt; password as well? And the router configuration is obfuscated when saved into a file? Well, here comes the solution (at least if you run Linux):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install &lt;a href="http://www.roaringpenguin.com/de/penguin/openSourceProducts/rpPppoe"&gt;rp-pppoe&lt;/a&gt; (&lt;span style="font-family:monospace;"&gt;emerge rp-pppoe&lt;/span&gt; on Gentoo, &lt;span style="font-family:monospace;"&gt;apt-get install pppoe&lt;/span&gt; on Debian or the equivalent command on your distro)&lt;/li&gt;&lt;li&gt;Create the file &lt;span style="font-family:monospace;"&gt;/etc/ppp/pppoe-server-options&lt;/span&gt; containing the following lines:&lt;br /&gt;&lt;pre&gt;debug&lt;br /&gt;require-pap&lt;br /&gt;show-password&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Add the following line to &lt;span style="font-family:monospace;"&gt;/etc/ppp/pap-secrets&lt;/span&gt;&lt;pre&gt;"your ISP login name" * "some bogus password"&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Connect the router's uplink port to your computer's network interface and run the following command as root (assuming eth0 is the name of your interface): &lt;pre&gt;# pppoe-server -I eth0 -F&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Now the server should tell you that it's waiting for incoming connections. Trigger a dial-in on your router. When that happens, the password will be printed to the system log in plain text.&lt;/li&gt;&lt;/ol&gt;Obviously, if your router has an integrated cable/DSL modem, it needs to be disabled first. If the PPTP protocol is used for dial-up, install &lt;a href="http://www.poptop.org/"&gt;PoPToP&lt;/a&gt; instead of rp-pppoe (adjust the name of the configuration file and the startup command accordingly).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-4630996738363899228?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/4630996738363899228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=4630996738363899228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/4630996738363899228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/4630996738363899228'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2007/10/how-to-recover-dial-in-passwords-from.html' title='How to recover dial-in passwords from broadband/dsl/cable routers'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-4859738007842082217</id><published>2007-07-11T05:48:00.000+02:00</published><updated>2007-07-11T06:02:34.227+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenMoko'/><title type='text'>Frst OpenMoko Phone Goes on Sale</title><content type='html'>The Neo1973 is now available at the &lt;a href="http://www.openmoko.com/"&gt;OpenMoko&lt;/a&gt; website. It is the first totally open and documented phone. I was planning to get one, but sadly the shipping costs are prohibitive. It is a good thing that this phone can be ordered worldwide, but depending on where you live, you pay up to 50% extra. FIC has so many &lt;a href="http://www.fic.com.tw/service/branches.aspx"&gt;offices world-wide&lt;/a&gt;, a shame they did not have more concern for the development community outside the US.&lt;br /&gt;&lt;br /&gt;So I'll wait for the next revision, announced for October, which hopefully will be distributed from Europe as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-4859738007842082217?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/4859738007842082217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=4859738007842082217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/4859738007842082217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/4859738007842082217'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2007/07/frst-openmoko-phone-goes-on-sale.html' title='Frst OpenMoko Phone Goes on Sale'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-115152231466125617</id><published>2006-06-28T20:10:00.000+02:00</published><updated>2006-06-28T21:18:34.683+02:00</updated><title type='text'>The Inquirer goes multilanguage. Well, partly.</title><content type='html'>So it seems that &lt;a href="http://www.theinquirer.net/"&gt;the Inquirer&lt;/a&gt; will now provide content in several languages, including &lt;a href="http://de.theinquirer.net/"&gt;German&lt;/a&gt;. My first impressions were mixed however.&lt;br /&gt;&lt;br /&gt;While I consider offering several languages to visitors a good thing, the way it is implemented here obviously just serves the purpose of diverting traffic to an inferior site with mediocre translations and spelling.&lt;br /&gt;&lt;br /&gt;At least the following things leave room for improvement:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Upon visiting &lt;a href="http://www.theinquirer.net/"&gt;http://www.theinquirer.net/&lt;/a&gt; you may get redirected to one of six weblogs, based on your IP Adress. This is not optimal. The redirector should rather use the browser's language settings if present. &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; does this better.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The weblog you are being redirected to contains only articles the respective publisher has considered important enough for translation. No references to untranslated content are given. The publisher even &lt;a href="http://de.theinquirer.net/2006/07/12/willkommen_zur_deutschen_ausga.html"&gt;suggests that you bookmark both&lt;/a&gt; the localized and original sites. This is a serious shortcoming. There should not be six incomplete versions of the Inquirer, but (at most!) one English and one international version. The international version should contain all articles. The articles should be displayed depending on available translations and the order of language preference as specified in the visitor's browser. The international version should aim to eventually replace the English one.&lt;/li&gt;&lt;li&gt;If you follow a direct link to a story from elsewhere, you get redirected to your local language's main page. This is awful. You should be redirected to the translated article instead, and if no translation exists, no redirect should be made at all.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; Having had my say, providing content in other languages besides English is a great idea which the Inquirer deserves to be commended for. I'm all for the localization efforts to continue. It's just that this great idea deserves a better implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-115152231466125617?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/115152231466125617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=115152231466125617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/115152231466125617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/115152231466125617'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2006/06/inquirer-goes-multilanguage-well.html' title='The Inquirer goes multilanguage. Well, partly.'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-110618306290161852</id><published>2005-01-20T01:41:00.000+01:00</published><updated>2005-01-20T02:04:22.900+01:00</updated><title type='text'>Free Mac mini in return for personal data</title><content type='html'>There is a new &lt;a href="http://www.gratisnetwork.com/"&gt;GratisNetwork&lt;/a&gt; site that will give away &lt;a href="http://www.freeminimacs.com/"&gt;free Mac minis&lt;/a&gt;. To get your hands at one, you have to enter some personal data and persuade 10 others to do the same. Too bad they don't offer this in the area where I live.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-110618306290161852?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/110618306290161852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=110618306290161852' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/110618306290161852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/110618306290161852'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2005/01/free-mac-mini-in-return-for-personal.html' title='Free Mac mini in return for personal data'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-109759424419013370</id><published>2004-10-12T16:53:00.000+02:00</published><updated>2004-10-12T17:17:24.190+02:00</updated><title type='text'>The unfortunate creature who happens to be a network administrator</title><content type='html'>After several months of managing our network at the student hostel, I have come to the conclusion that being a network administrator is not always nice. Users won't notice if everything works as it should. But if something goes wrong, they will start to complain and constantly demand that you fix things, whether you have spare time or not. Luckily, I'm not planning to become a professional network administrator.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-109759424419013370?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/109759424419013370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=109759424419013370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/109759424419013370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/109759424419013370'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2004/10/unfortunate-creature-who-happens-to-be.html' title='The unfortunate creature who happens to be a network administrator'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-109621483550538163</id><published>2004-09-26T18:01:00.000+02:00</published><updated>2004-09-26T18:07:15.506+02:00</updated><title type='text'>Spread Firefox and get a Gmail account</title><content type='html'>Due to the observation that people will do almost anything for a &lt;a href="http://gmail.google.com/"&gt;Gmail&lt;/a&gt; account, the folks on spreadfirefox.com have started the &lt;a href="http://www.spreadfirefox.com/?q=node/view/1443"&gt;Gmail Give Away&lt;/a&gt;. I think I'll give it a try as well.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-109621483550538163?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/109621483550538163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=109621483550538163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/109621483550538163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/109621483550538163'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2004/09/spread-firefox-and-get-gmail-account.html' title='Spread Firefox and get a Gmail account'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-109230862105575189</id><published>2004-08-12T12:49:00.000+02:00</published><updated>2004-08-12T13:03:41.056+02:00</updated><title type='text'>Brain death</title><content type='html'>It has happened, &lt;a href="http://www.duluthsuperior.com/mld/duluthsuperior/9213422.htm"&gt;again&lt;/a&gt;. And &lt;a href="http://www.unyts.org/braindeath.htm"&gt;they said&lt;/a&gt; it couldn't be. Now they say &lt;a href="http://www.duluthsuperior.com/mld/duluthtribune/news/local/9279841.htm"&gt;he wasn't&lt;/a&gt;, after already giving up treatment.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-109230862105575189?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/109230862105575189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=109230862105575189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/109230862105575189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/109230862105575189'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2004/08/brain-death.html' title='Brain death'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-108967315015535084</id><published>2004-07-13T00:47:00.000+02:00</published><updated>2004-07-13T01:02:49.753+02:00</updated><title type='text'>Free blogging software with PAM/Radius support, anyone?</title><content type='html'>When looking for free (as in &lt;a href="http://www.gnu.org/philosophy/free-sw.html"&gt;speech&lt;/a&gt;) &lt;a href="http://www.opensourcecms.com/"&gt;blogging software&lt;/a&gt;, it seems that they have all some kind of unsophisticated user management (i.e. they don't support &lt;a href="http://www.ietf.org/rfc/rfc2865.txt"&gt;Radius authentication&lt;/a&gt;). Other than that, there are only fully flegged &lt;acronym title="Content Management System"&gt;CMS&lt;/acronym&gt;s, which support authentication via &lt;acronym title="Pluggable Authentication Module"&gt;PAM&lt;/acronym&gt;s. However, I did not dare to install one yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-108967315015535084?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/108967315015535084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=108967315015535084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/108967315015535084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/108967315015535084'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2004/07/free-blogging-software-with-pamradius.html' title='Free blogging software with PAM/Radius support, anyone?'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-108488903398561490</id><published>2004-05-18T15:54:00.000+02:00</published><updated>2004-05-18T16:04:49.810+02:00</updated><title type='text'>data: URIs are not welcome here</title><content type='html'>So I have tried to insert &lt;a href="data:image/jpeg,%FF%D8%FF%E0%00%10JFIF%00%01%01%01%00d%00d%00%00%FF%FE%00%17Created%20with%20The%20GIMP%FF%DB%00C%00%08%06%06%07%06%05%08%07%07%07%09%09%08%0A%0C%14%0D%0C%0B%0B%0C%19%12%13%0F%14%1D%1A%1F%1E%1D%1A%1C%1C%20%24.'%20%22%2C%23%1C%1C(7)%2C01444%1F'9%3D82%3C.342%FF%DB%00C%01%09%09%09%0C%0B%0C%18%0D%0D%182!%1C!22222222222222222222222222222222222222222222222222%FF%C0%00%11%08%00T%00Q%03%01%22%00%02%11%01%03%11%01%FF%C4%00%1B%00%00%02%02%03%01%00%00%00%00%00%00%00%00%00%00%00%00%05%04%06%01%02%03%07%FF%C4%007%10%00%02%01%03%03%01%04%07%06%06%03%00%00%00%00%00%01%02%03%00%04%11%05%12!1%13AQa%06%14%22Rq%81%A1%152BS%B1%C1%16%24br%91%F1%233%82%FF%C4%00%19%01%00%02%03%01%00%00%00%00%00%00%00%00%00%00%00%00%01%04%00%02%03%05%FF%C4%00%22%11%00%02%02%02%01%04%03%01%00%00%00%00%00%00%00%00%00%01%02%11%03!%12%04%131A%142Q%22%FF%DA%00%0C%03%01%00%02%11%03%11%00%3F%00%F5%F01Y%A2%8A%D4T(%A2%8A%84%0A(%3Cw%83%F0%A3%A1%C6F~5%03AE%14T%25%05%14QP%94%14Q%F3%A2%A0h(%C6h%AC%8A%04%A3%18%A0%90%A0%968Q%D75%92A%EF%A4%9E%97_%9B%0D%0DB%60%3C%D2%08%F7%1E%E0z%D0n%82%A3n%85%DA%AF%A61%C19%B6%B6%C1%60H%DFQ%20%D7u%B9%C7k%0C%91%CA%BF%96c%C6~u%AE%8E%96p8V%B5I%19%BF%1BsW%0B9%A1Xp%B0%A6%7C%02%F4%A5%5EGc%8B%A7%82%5BV%2C%D2%FD%22%86%EEAot%86%DA%E3%B9X%FB%24%F9S%CD%A78%C7%CE%90%FAGie%EAmpH%86E9V%03%075%07N%F4%96x%26%B4%8Ey%01%84gq%C6Kg%1DkX%E4%F4c%93%12%8E%D3%D1%60%BF%BE%8A%C0%2Fl%0EX%E0%0E%FA%CD%85%F47%EEc%88%8D%D9%FB%A7%A9%AA%B7%A4%1A%BD%B6%A3%A8%94%B6C%84%04%E7%3DiM%96%A3%2C%5B%E5%B7r%B2'x5kf%3E%CFR%F5q%E0h%AF6%FE%2C%D6%BD%E3E%0EL%B5%97%C9%A7%8A%0Cv%8E%AB%9E%995%934%60r%E0w%91U%0B%BDB%3DF%E1%25%09%26%F6%18*F%02%91%E1Z%A2%DDN%D9%12%9C0%07%2Cz%0Ejs~%89%C1%BF%03%D1%AF%5B%1B%A6%84%BA%85%07%19%AA%7F%A5%3A%E1%D4%EF%ADm%11%87%AA%89%C6%09%1DH%F0%A2%EA%D3%D5'%06%5B%B8%D8%BB%1CmRq%F4%A82i%C9m%24e%A4%ED%93y9%CEv%7C*%93%93%AD%9Ba%C7sI%91%EE5%2B%A8%E6%DB%1CJ%AA%1B%00%92sL%0E%B5%A9%5B%5B%C10L%AB%02T%B6z%7C%AB%5B%A6%81%22%0Ca%1D6%B6%06I%1D%E4y%D3%BBMGH%B9%B5%B5%B3H%1D%DE(%CA%E3i%E4%1E%BF%A5-%FC%B7l%E8q%A5%B3d%D4%1B%5E%D1n%20%BA%89%14%F6E%D1%D3%3Fx%0E%3A%D5~%19f%8E%CA%CD%DE2%16T%07%3D%E0%E4%8Ej%DDi%A9Z%14X%A0%8Bb%22%1D%B9%5Ej%24%A2%DFLe%8EdI%24%91%B7%05%1C%E0w~%F5%B67n%91%86X%C7%8E%C4%10%E9%9A%8D%CC%ECQH%5C%E7w%954%8F%D1%F9%80i%5C%04U%1C%80x4%E9%2F%A2%F5b%E1%08%C6r%00%C6)V%A7%AAH%DAn%23%8C%ED%90%E06z%7CkNM%E9%0A%B5%15%E8%E1%EA%B0%7B%E6%8A%ACz%EC%DE%12QF%99NK%F0%BBv%11M%3B%CA%10%BC%A0c%0C%DF%A0%15%DA%DA%CE%D4I%23%3C%8CFr%AA%0FA%E1Q%AE%EC%A57D%AC%AC%9E%C6Wg%07%9A%CE%9D%18%16%E8C%B3H%7F%09%3C%F5%F3%F8UMl%91uh.%10%2C6%A1%B0%C4d%B6%0DD%FB)%DA%0D%D2%40B%EE%E4g%A9%EE%A6%E4%AD%B3%19%09!X%E79%C8%14%A7S%D6l%ECl%C0%96%E7%DB2n%00%13%DD%F0%EB%F0%EBD%3C%B8%ED%B2%BD%7D%13v%A4%20%0AU%B9%DE%09%00~%C7%CE%B4%D2%0B%DB%DC%AB%A5%C0BKd%F6x%1F%AF%D6%BA%3D%E4%17%9B%E7%B4%97%B6V989%1C%D78geq%B6!%9F%0Cd%0AU%AA%95%23%A1%09r%8E%8B%0E%9B%22%C7%20B%A8%24%DAw%10%3A%8A%D8%C1%A5%5Cj1%CD%14%EE%089%EC%C1%CF%22%B1ag3%E9%F3%5C%A8%06g%1BT%1E)%04V%D3%8B%86h%D8%C0%F1%92%24%DEq%CD1%8E%1A%B4%25%9F%23%E5%A1%B6%AF%AD%F6%EC%F0G%0B!RI%40%06p%3B%CD'%B8wF%8D%E1%25%91%C6v%0C%E35%D4%C4%A1dtR%D3%1E%1E%5C%E7%20%D4%8B%FB%B1%EAq%B2%A0%05%40P%AA%3C%3B%EA%EBZ%15o%F4%E5%85%FC%83%FE(%A8%3Fi%1Fz%8A4%CArE%92%7B%A8%ED%AF%85%CC%A5%8B%11%B4%22%F3%DFY%5B%D8!tY%94%98%B1%F7%C2%F4%24%93%82j3%DAD%D8%9Ag%DF%B5Gh%AAz%0A%AB%EAz%E3%5D%CE%D1%C6%DD%9D%B8%1BU%03u%F0%CF%8E%7F%C7%9Dk%87%0Fs%C0sg%ED%E9y%2F%AB%ADi%96%F6%FF%00%F7%C6%178%00%F3%CF%87%CE%BC%F7%D2%86%8BP%92G%B7%1B%10%12Bx%0F%13%E1%F4%23%E7%CA%E7%91%98%B1W%DAB%959%8C%E7%FBH%EB%FF%00%8E%1B%A1%15%AE%E30%0C%B2%AA2pF%ED%DD%3B%F3%FE%C8%C1%C88%E1%B8t%D1%8F%B1%19uY%24%ED%8D%B4f%8E%CA%C5b%0C%D8c%B8%93%D4%92%07%3E%7D%3A%F1%9F%0F%1718%25%88%C61%9C%F7%9A%A2%CD%A8%BA%E2(X62%CC%C0%FB%3DG9%E8G%F5%FD%DF%81%EBj%D2%2F%ED%A4%D3%96%E6%EA%5E%C1c%207h%A7%2C%7C%00%EF%E9%D7%A5)%97%A4qv%8E%9E%1E%B3IIQ~%D3%E5%FEY%23%DB%C8%1Cdr%0F%8DK%B9%B2%B6%B8a%DBA%13%60%7BGo'%CE%A8%16%5E%91k%CBs-%D5%BD%83I%A7%EF*%90%95%F1%E8x%F8s%F2%C6j%C5%A4%EB%1A%9E%A34%8Bw%A7%8Bh%82%E3%BF9%F2%CDm%8F%17%15%B1%0C%F9%DC%A7hi%EA%96%08O%FCJ%07%BB%8A%81%A9%E8V%B7%F6%AD%EA%92%18%E6%C6%40%CF%06%BB%DCn!Fs%EC%F7%D2%C8%AF%DA%3B%E4PH%5D%8C%C7%1E_%E8%D5%FBI%99w%E4%84_%C2%BA%8F%BAh%AB%AF%AF%3F%BE%BFZ*v%99o%90%8AE%C6c%B5fG%60%CC%00%24%1Eq%D7%F6%AAm%B3%19%3B%20N%3F%943%02%07B%3F%08%FE%9F*(%A3%D2%7DYl%FF%00bc%2F%B2W'%02%DD%25%3C%9C%9C%93%EC%93%D7%1F_%3A%89qm%10%25%8A%EE%26d%8C%E4%F5%CEy%FE%E1%DCh%A2%9B%17D%ABK%08%5ExW%DA%02K%A3%01%03%801%83%BC%0E%9B%BE%9EUx%9FC%B1%9BL%D3%1C%C6%CAy%5E%0F%40X%82%3E%94QFe%93c%F4%86%3BL%DB%C4%80F%A0(%1EU%DDN%E5%F0%EE%E2%8A)fU%F99%CAs%22%E7%C4%0A%AB%BB%11%24%EE%09%0C%B0%CB%8F%AD%14U%A2g2%07%DAW_%98h%A2%8A%26'%FF%D9"&gt;a photo&lt;/a&gt; into &lt;a href="http://www.blogger.com/profile/3303412"&gt;my profile&lt;/a&gt; here, but unfortunately the Edit Profile form won't accept &lt;a href="http://www.ietf.org/rfc/rfc2397.txt"&gt;data: URIs&lt;/a&gt;. I think I'll have to ask in the forum what to do now. After all, not all browsers do support data: URIs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-108488903398561490?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/108488903398561490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=108488903398561490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/108488903398561490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/108488903398561490'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2004/05/data-uris-are-not-welcome-here.html' title='data: URIs are not welcome here'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6948343.post-108428201359477255</id><published>2004-05-11T15:24:00.000+02:00</published><updated>2004-05-11T15:26:53.596+02:00</updated><title type='text'>Let the weblog begin</title><content type='html'>So I have decided to start my own weblog. It was fairly easy so far. Now I have to think about how to fill it with content.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6948343-108428201359477255?l=chithanh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chithanh.blogspot.com/feeds/108428201359477255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6948343&amp;postID=108428201359477255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/108428201359477255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6948343/posts/default/108428201359477255'/><link rel='alternate' type='text/html' href='http://chithanh.blogspot.com/2004/05/let-weblog-begin.html' title='Let the weblog begin'/><author><name>Chí-Thanh Christopher Nguyễn</name><uri>http://www.blogger.com/profile/04323207673388006981</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
