<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The p-Code Machine &#187; Technology</title>
	<atom:link href="http://blog.pcode.nl/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pcode.nl</link>
	<description>Nonsense!</description>
	<lastBuildDate>Sun, 29 Jan 2012 16:49:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Upstart: don&#8217;t mess with the rc job</title>
		<link>http://blog.pcode.nl/2011/08/11/upstart-dont-mess-with-the-rc-job/</link>
		<comments>http://blog.pcode.nl/2011/08/11/upstart-dont-mess-with-the-rc-job/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 20:18:34 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=817</guid>
		<description><![CDATA[Recently I&#8217;ve been fiddling a bit with Upstart, and in general I&#8217;m positive about the experience. Upstart offers a lot of flexibility and simple but very welcome features like real service supervision with respawning capabilities. There are a few downsides: Relatively few SysV init scripts have been converted to Upstart jobs. This is logical since [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been fiddling a bit with Upstart, and in general I&#8217;m positive about the experience. Upstart offers a lot of flexibility and simple but very welcome features like real service supervision with respawning capabilities. There are a few downsides:</p>
<p>Relatively few SysV init scripts have been converted to Upstart jobs. This is logical since there are a lot of scripts to convert and all of them need testing before considering them production ready. That said, the progress over time in this area isn&#8217;t particularly overwhelming either.</p>
<p>Upstart is much harder to troubleshoot when unexpected things happen, this is to a degree inherent to Upstart&#8217;s parallel/event-based nature. Adding the following options to your kernel parameters does help a bit: &#8216;nosplash INIT_VERBOSE=yes init=/sbin/init noplymouth -v&#8217;.</p>
<p>As far as I know there is no way to have SysV init scripts depend on Upstart jobs. While this was to be expected since this is pretty hard to implement sensibly. But considering my first point (the fact that lots of SysV scripts still have be converted), this can be annoying. My advice, don&#8217;t fiddle with the the rc job! I did, and it gave me grief (Upstart hung on reboots), causing me to waste a day figuring out what went wrong. If you need a SysV script to depend on an Upstart job, remove the SysV script and convert it to an Upstart job yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/08/11/upstart-dont-mess-with-the-rc-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preseed LDAP via Debconf on Ubuntu Lucid</title>
		<link>http://blog.pcode.nl/2011/08/08/preseed-ldap-via-debconf-on-ubuntu-lucid/</link>
		<comments>http://blog.pcode.nl/2011/08/08/preseed-ldap-via-debconf-on-ubuntu-lucid/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 16:02:35 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=812</guid>
		<description><![CDATA[As some of you may know configuring LDAP on Ubuntu Lucid can be a bit of a pain in the ass, especially getting it consistent throughout your infrastructure. So here&#8217;s way to relatively easily configure LDAP via Debconf preseeding. First install debconf (it&#8217;s likely already installed, but doublecheck this): # apt-get install debconf Then put [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you may know configuring LDAP on Ubuntu Lucid can be a bit of a pain in the ass, especially getting it consistent throughout your infrastructure. So here&#8217;s way to relatively easily configure LDAP via Debconf preseeding.</p>
<p>First install debconf (it&#8217;s likely already installed, but doublecheck this):</p>
<pre># apt-get install debconf</pre>
<p>Then put the following lines into debconf-ldap-preseed.txt so we can feed it to debconf later (obviously you need to adapt this configuration file to your own situation):</p>
<pre>ldap-auth-config    ldap-auth-config/binddn    string    cn=proxyuser,dc=yourdomain,dc=com
ldap-auth-config    ldap-auth-config/bindpw    password    
ldap-auth-config    ldap-auth-config/dblogin    boolean    false
ldap-auth-config    ldap-auth-config/dbrootlogin    boolean    true
ldap-auth-config    ldap-auth-config/ldapns/base-dn    string    dc=yourdomain,dc=com
ldap-auth-config    ldap-auth-config/ldapns/ldap-server    string    ldap://10.10.10.10/
ldap-auth-config    ldap-auth-config/ldapns/ldap_version    select    3
ldap-auth-config    ldap-auth-config/move-to-debconf    boolean    true
ldap-auth-config    ldap-auth-config/override    boolean    true
ldap-auth-config    ldap-auth-config/pam_password    select    crypt
ldap-auth-config    ldap-auth-config/rootbinddn    string    cn=manager,dc=yourdomain,dc=com
ldap-auth-config    ldap-auth-config/rootbindpw    password    
libnss-ldap    libnss-ldap/binddn    string    cn=proxyuser,dc=yourdomain,dc=com
libnss-ldap    libnss-ldap/bindpw    password    
libnss-ldap    libnss-ldap/confperm    boolean    false
libnss-ldap    libnss-ldap/dblogin    boolean    false
libnss-ldap    libnss-ldap/dbrootlogin    boolean    true
libnss-ldap    libnss-ldap/nsswitch    note    
libnss-ldap    libnss-ldap/override    boolean    true
libnss-ldap    libnss-ldap/rootbinddn    string    cn=manager,dc=yourdomain,dc=com
libnss-ldap    libnss-ldap/rootbindpw    password    
libnss-ldap    shared/ldapns/base-dn    string    dc=yourdomain,dc=com
libnss-ldap    shared/ldapns/ldap-server    string    ldap://10.10.10.10/
libnss-ldap    shared/ldapns/ldap_version    select    3
libpam-ldap    libpam-ldap/binddn    string    cn=proxyuser,dc=yourdomain,dc=com
libpam-ldap    libpam-ldap/bindpw    password    
libpam-ldap    libpam-ldap/dblogin    boolean    false
libpam-ldap    libpam-ldap/dbrootlogin    boolean    false
libpam-ldap    libpam-ldap/override    boolean    true
libpam-ldap    libpam-ldap/pam_password    select    crypt
libpam-ldap    libpam-ldap/rootbinddn    string    cn=manager,dc=yourdomain,dc=com
libpam-ldap    libpam-ldap/rootbindpw    password    
libpam-ldap    shared/ldapns/base-dn    string    dc=yourdomain,dc=com
libpam-ldap    shared/ldapns/ldap-server    string    ldap://10.10.10.10/
libpam-ldap    shared/ldapns/ldap_version    select    3
libpam-runtime    libpam-runtime/profiles    multiselect    unix, ldap</pre>
<p>Now we feed the above file to debconf:</p>
<pre># cat debconf-ldap-preseed.txt | debconf-set-selections</pre>
<p>And finally we need to switch nss to include LDAP lookups:</p>
<pre># auth-client-config -p lac_ldap -t nss</pre>
<p>Optionally make sure homedirs are created on login:</p>
<pre># echo -e 'session required\t\t\tpam_mkhomedir.so' &gt;&gt; /etc/pam.d/common-session</pre>
<p>One of the other advantages is that this may also benefit future upgrades, since all the settings are preseeded through debconf it&#8217;s less likely a future update/upgrade will break your setup. This is purely speculative since I haven&#8217;t done any actual upgrades yet.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/08/08/preseed-ldap-via-debconf-on-ubuntu-lucid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Darktable and Ubuntu Natty</title>
		<link>http://blog.pcode.nl/2011/04/21/darktable-and-ubuntu-natty/</link>
		<comments>http://blog.pcode.nl/2011/04/21/darktable-and-ubuntu-natty/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 16:26:16 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=781</guid>
		<description><![CDATA[For the past few weeks people have been bothering me about when I&#8217;ll update my PPAs for Natty&#8230; So let me explain my intentions for my PPAs in general. In general I have three Darktable related PPAs: Release Release-Plus Unstable The difference between the Release and Release-Plus PPAs, is that the Release PPA only has [...]]]></description>
			<content:encoded><![CDATA[<p>For the past few weeks people have been bothering me about when I&#8217;ll update my PPAs for Natty&#8230; So let me explain my intentions for my PPAs in general.</p>
<h3>In general</h3>
<p>I have three Darktable related PPAs:</p>
<ul>
<li><a href="https://launchpad.net/~pmjdebruijn/+archive/darktable-release">Release</a></li>
<li><a href="https://launchpad.net/~pmjdebruijn/+archive/darktable-release-plus">Release-Plus</a></li>
<li><a href="https://launchpad.net/~pmjdebruijn/+archive/darktable-unstable">Unstable</a></li>
</ul>
<p>The difference between the Release and Release-Plus PPAs, is that the Release PPA only has the latest Darktable release package plus any dependencies that aren&#8217;t in the meanstream repo&#8217;s (lcms2 ATM). The Release-Plus PPA has everything the Release PPA has, plus updated versions of Lensfun and Exiv2.</p>
<p>For both the Release and Release-Plus PPA I&#8217;ll <em>try</em> to always build Darktable packages for at least the latest Ubuntu release and the latest Ubuntu LTS (Long Term Support) release. Please do note the usage of the word release, I usually do not build for unreleased versions of Ubuntu. And even after a release I need a couple of days to catch up.</p>
<p>The Unstable PPA is more or less my personal (but public) playground. It has a git master build of Darktable for whatever version of Ubuntu I&#8217;m personally using. Building packages for multiple versions of Ubuntu that often is just too time consuming. Of course people will say &#8220;Why not automate nightly builds?&#8221;. First off I think it&#8217;s a bit abusive of the PPA build farm, since git doesn&#8217;t change every single day. And more importantly there is no quality control on automated builds. I try to keep up on changes in git, and sometimes consciously refrain to push a new unstable package to my Unstable PPA, simply because there is too much risk of breakage. Obviously I do get things wrong from time to time, so my Unstable PPA can break things occasionally.</p>
<h3>Now what about Natty</h3>
<p>As I started out, I&#8217;ve been asked a lot about Natty, often in private e-mail which is uncalled for, since we have darktable mailing lists on SourceForge.</p>
<p>Now, there are some pretty big changes in Natty, and it&#8217;s quite debatable if they are for the better. So it&#8217;s very likely I&#8217;ll skip a release for my own use, which implies the Unstable PPA will most likely continue to be exclusively built for Maverick.</p>
<p>So that leaves my Release and Release-Plus PPA, and there has been build breakage on Natty, which only recently has been resolved. So it&#8217;ll involve backporting some patches to the current stable release to make Darktable build at all. I&#8217;ll certainly give this a shot once Natty has been released, and if all goes well I&#8217;ll quite likely have packages available within a week after Natty&#8217;s release. However, if building the current stable release on Natty proves too difficult I might ditch the effort altogether at some point, at least until Darktable 0.9 has been released.</p>
<h3>Update</h3>
<p>Darktable packages for Ubuntu Natty have been pushed to all three PPAs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/04/21/darktable-and-ubuntu-natty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Debian Squeeze on a Yeeloong Netbook</title>
		<link>http://blog.pcode.nl/2011/04/17/installing-debian-squeeze-on-a-yeeloong-netbook/</link>
		<comments>http://blog.pcode.nl/2011/04/17/installing-debian-squeeze-on-a-yeeloong-netbook/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 17:02:19 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yeeloong]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=767</guid>
		<description><![CDATA[As most of you have already noticed I have a Yeeloong netbook and I read that it&#8217;s actually possible to install Debian Squeeze on it, even though Squeeze officially doesn&#8217;t support the Yeeloong or the Loongson processor. Fortunately the install doesn&#8217;t involve anything too scary. The Debian mipsel binaries are o32 binaries not really optimized [...]]]></description>
			<content:encoded><![CDATA[<p>As most of you have already noticed I <a href="http://blog.pcode.nl/2011/03/31/lemote-yeeloong-8089/">have</a> a <a href="http://www.lemote.com/en/products/Notebook/2010/0310/112.html">Yeeloong</a> netbook and I read that it&#8217;s actually possible to install Debian Squeeze on it, even though Squeeze officially doesn&#8217;t support the Yeeloong or the Loongson processor. Fortunately the install doesn&#8217;t involve anything too scary. The Debian <a href="http://en.wikipedia.org/wiki/MIPS_architecture#Loongson">mips</a>el binaries are <a href="http://www.linux-mips.org/wiki/MIPSABIHistory">o32</a> binaries not really optimized for a particular CPU, which means they will run on lots of CPUs (not unlike how the i386 binaries run on most x86 processors). The Loongson 2F processor has all instructions to be MIPS III compliant, which is enough for the Debian binaries. So where is the problem then? It&#8217;s with the kernel, Debian doesn&#8217;t provide any linux kernel images for the Loongson CPU and even more particularly the Yeeloong Netbook.</p>
<h3>Basic Installation</h3>
<p>I&#8217;ve built a <a href="http://debian.pcode.nl/debian/misc/vmlinux-2.6.38.3">kernel image</a> and <a href="http://debian.pcode.nl/debian/dists/squeeze/linux/binary-mipsel/linux-image-2.6.38.3_2.6.38.3-0yeeloong0_mipsel.deb">kernel package</a> for general use on the Yeeloong which is also capable of booting the <a href="ftp://ftp.nl.debian.org/debian/dists/squeeze/main/installer-mipsel/current/images/malta/netboot/initrd.gz">Malta</a> Debian installer. To actually use them download all three, and put them in the root of an ext2 formatted USB stick. Then plug the USB stick into your Yeeloong and make sure it has wired Ethernet connectivity. Then start the Yeeloong and press Del during bootup to enter PMON (it&#8217;s BIOS alternative). In PMON you need to enter the following commands:</p>
<pre>load /dev/fs/ext2@usb0/vmlinux-2.6.38.3
initrd /dev/fs/ext2@usb0/initrd.gz
g</pre>
<p>If you use an older kernel you also need to pass the &#8216;console=tty&#8217; and &#8216;no_auto_cmd&#8217; parameters to the g command.</p>
<p>If all went well you&#8217;ll notice the Debian installer starting, and prompting you with it&#8217;s first questions. Select your preferred language, location, locale, keyboard layout, hostname, domainname, Debian archive mirror &amp; proxy information.</p>
<p>If all went well, you&#8217;ll notice the Debian installer complaining it hasn&#8217;t found any (matching) kernel modules, and it&#8217;ll ask you if you want to proceed without. We&#8217;ll answer Yes, since everything critical has been monolithically compiled into my custom kernel.</p>
<p>Next, setup your root password and an initial user account.</p>
<p>Now we&#8217;re entering the partitioning tool, which will complain with a scary red dialog that my custom kernel is missing Software RAID and LVM support, which we really don&#8217;t need. Select continue for both warnings.</p>
<p>Now we&#8217;ve really entered the partition tool, and you&#8217;ll notice two devices the (probably) FUJITSU 160GB harddisk, and the USB stick, make sure you don&#8217;t touch the USB stick (sdc). Then select the FUJITSU (sda) harddisk and press enter, which will effectively erase the whole disk, and reinitialize the disk with a new partition table. The partitioning tool will complain that it does not know the partition table type for the Loongson architecture. Select the familiar msdos partition table type. Next create a new partition, 1GB, primary, beginning, make <em>sure</em> it&#8217;s used as the ext2 file system otherwise your yeeloong won&#8217;t boot, with a /boot mount point and relatime,sync mount options. When you&#8217;re done setting up the first &#8220;special&#8221; boot partition. We can create a new swap partition: 2GB, primary, beginning, use as swap area. With that done, we can create a new root partition: 17GB, primary, beginning, use as ext4 journaling file system, mount point / , mount options relatime. And last we can create a new home partition: 140GB, primary, beginning, use as ext4 journaling file system, mount point /home, mount options relatime. Now finish and write the changes to disk.</p>
<p>You&#8217;ll notice the Debian installer downloading packages and installing them. At some point it will complain no installable kernel was found, and if you want to continue without a kernel. Yes you do.</p>
<p>Now only a few things are left, software selection, where I usually unselect everything, and bootloader installation, where the installer will complain it can&#8217;t install any. We don&#8217;t care as the Yeeloong doesn&#8217;t need a bootloader at all. So we continue.</p>
<p>When we (next) get the &#8220;Finish the installation&#8221; dialog, we do <em>not</em> continue immediately. Instead we press Ctrl+Alt+F2 and Enter (to active the console). Now we need to manually install a kernel package, to do so enter the following commands:</p>
<pre>mount /dev/sdc1 /mnt
cp /mnt/linux-image-2.6.38.3_2.6.38.3-0yeeloong0_mipsel.deb /target/root
umount /mnt
chroot /target /bin/bash
dpkg -i /root/linux-image-2.6.38.3_2.6.38.3-0yeeloong0_mipsel.deb
cp /boot/vmlinux-2.6.38.3 /boot/vmlinux
exit
exit</pre>
<p>Then press Ctrl+Alt+F1 to return to the installer and finally press continue to reboot. During the reboot press Del to enter PMON once again, since we need to tell PMON about our new installation:</p>
<pre>set ShowBootMenu "no"
set al "/dev/fs/ext2@wd0/vmlinux"
set arg "root=/dev/sda3"
reboot</pre>
<p>Now you should see your Yeeloong reboot again, and booting into your new Debian Squeeze installation.</p>
<h3>Installing extra utilities</h3>
<p>Your new clean installed Debian system isn&#8217;t very useful yet, so you&#8217;ll need to add some extra software. One of the things I usually do is disable the installation of &#8220;Recommended&#8221; packages, these are a kind of soft dependancy, this is how packages pull along other packages which aren&#8217;t strictly required, but are usually nice to have but sometimes are utterly useless (and clutter up your system). So to disable the automatic installation of Recommends do the following as root:</p>
<pre>echo 'APT::Install-Recommends "false";' &gt; /etc/apt/apt.conf.d/99synaptic</pre>
<p>Whenever you install a new package apt will tell you what it&#8217;s Recommends would have been, I highly recommend you to inspect the Recommended packages to see if they would be useful to you.</p>
<p>Now, let&#8217;s install a bunch of packages I always like to have handy:</p>
<pre>apt-get install alsa-base alsa-utils autoconf automake build-essential \
                libncurses5-dev autotools-dev binutils bison \
                busybox-static bzip2 cdbs command-not-found coreutils \
                cpio curl debhelper devscripts dpkg-dev fakeroot file \
                findutils flex fortune-mod fortunes-debian-hints g++ \
                gcc gdb gfortran git-core gnupg gobjc grep gzip \
                iproute less lftp links lsof m4 make mtr-tiny nano \
                openssh-client patch pciutils usbutils procps psmisc \
                quilt rsync screen sharutils sl smartmontools splint \
                subversion sudo telnet tftp-hpa unzip util-linux wget \
                wpasupplicant xz-utils</pre>
<p>This will take a while to install, but it&#8217;ll leave you with a very functional base system.</p>
<h3>Installing Basic X11</h3>
<p>Before installing X11 there are a couple of considerations. First I would highly recommend using my optimized pixman packages (though Debian&#8217;s own pixman will work). Next you&#8217;ll have to choose between an optimized SiliconMotion driver and using Xorg via the kernel framebuffer. If you need video playback you should use the optimized SiliconMotion driver, if you don&#8217;t you might want to consider sticking with the linux framebuffer driver, since with it, tty switching will be smoother, and you won&#8217;t need patched Xorg packages. And last but not least you&#8217;ll need to choose a login manager. I highly recommend <a href="http://slim.berlios.de/">SLiM</a>, though Debian&#8217;s version is a tad buggy, I have a fixed package available as well (with GNOME Keyring integration for Network Manager).</p>
<p>My repository has the following mipsel components available: linux, pixman, slim, thinice, ufraw, xorg. To use my repository with the optimized pixman, fixed SLiM login manager, my customized ThinIce theme and updated ufraw, execute as root:</p>
<pre>echo 'deb http://debian.pcode.nl/debian squeeze linux pixman slim thinice ufraw' &gt; /etc/apt/sources.list.d/pcode.list</pre>
<pre>apt-get update</pre>
<pre>apt-get install xserver-xorg xserver-xorg-input-evdev \
                xserver-xorg-input-mouse xserver-xorg-video-fbdev \
                slim</pre>
<h3>Installing XFCE</h3>
<p>Now we have a very basic X11 setup, we probably want a decent desktop environment as well. To get a basic but functional XFCE installation:</p>
<pre>apt-get install xfce4-panel xfce4-session xfce4-settings xfce4-terminal \
                xfce4-utils xfdesktop4 xfwm4 xfwm4-themes thunar \
                network-manager-gnome libpam-gnome-keyring thinice-noble \
                gnome-noble-icon-theme gnome-keyring seahorse gtk2-engines \
                ttf-liberation ttf-dejavu-core gsfonts ghostscript</pre>
<p>If you like my old school UNIX like <a href="http://blog.pcode.nl/2011/04/17/thinice-noble-compact/">ThinIce-Noble</a> theme, you can download my skel files <a href="http://files.pcode.nl/debian/misc/xfce-thinice-noble-skel.tar.gz">here</a>, and install them to be used with newly created users:</p>
<pre>cd /etc/skel</pre>
<pre>tar zxvf /root/xfce-thinice-noble-skel.tar.gz</pre>
<h3>Installating Applications</h3>
<p>Obviously without applications your new desktop is useless, just some quick tips:</p>
<pre>apt-get install iceweasel geany abiword xarchiver</pre>
<pre>apt-get install gimp gimp-plugin-registry gimp-resynthesizer gimp-ufraw</pre>
<pre>Have fun.</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/04/17/installing-debian-squeeze-on-a-yeeloong-netbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThinIce Noble (Compact)</title>
		<link>http://blog.pcode.nl/2011/04/17/thinice-noble-compact/</link>
		<comments>http://blog.pcode.nl/2011/04/17/thinice-noble-compact/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 15:42:01 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yeeloong]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=760</guid>
		<description><![CDATA[On my Yeeloong netbook I&#8217;m running XFCE because it&#8217;s a tad more lightweight than GNOME. Considering the Yeeloong&#8217;s resources, a lot of modern themes can be a bit heavy, so after some testing I went with the ThinIce theme. Out of the box the ThinIce theme isn&#8217;t so great. Firefox/Iceweasel don&#8217;t look so great with [...]]]></description>
			<content:encoded><![CDATA[<p>On my Yeeloong netbook I&#8217;m running XFCE because it&#8217;s a tad more lightweight than GNOME. Considering the Yeeloong&#8217;s resources, a lot of modern themes can be a bit heavy, so after some testing I went with the ThinIce theme. Out of the box the ThinIce theme isn&#8217;t so great. Firefox/Iceweasel don&#8217;t look so great with it (an issue with text field background colors). The scrollbars are too thin. The gray isn&#8217;t neutral (this is a personal pet-peeve). And the default blue selection color isn&#8217;t too my liking too. The main problem with the default blue selection color is that there is no matching icon theme. So I went with the GNOME Noble icon theme and took the icon&#8217;s theme&#8217;s base purple tint as as a selection color for ThinIce. The next problem which is true for pretty much all GTK themes is that they waste a lot of screen real-estate, which is actually a good thing is you have a big display, big buttons and lots of spacing makes things look good and easier to use. However on a netbook this isn&#8217;t soo great. So I had to shrink down my ThinIce theme a bit. The result:</p>
<p style="text-align: center;"><a href="http://blog.pcode.nl/wp-content/uploads/2011/04/yeeloong-netbook-xfce-thinice-compact.png"><img class="aligncenter size-full wp-image-763" title="yeeloong-netbook-xfce-thinice-compact" src="http://blog.pcode.nl/wp-content/uploads/2011/04/yeeloong-netbook-xfce-thinice-compact.png" alt="" width="600" height="352" /></a></p>
<p style="text-align: left;">If you like the theme, you can get the sources <a href="http://files.pcode.nl/debian/dists/squeeze/thinice/binary-mipsel/thinice-noble_0.2.orig.tar.gz">here</a>, and a nice architecture independent Debian package <a href="http://files.pcode.nl/debian/dists/squeeze/thinice/binary-mipsel/thinice-noble_0.2-0yeeloong0_all.deb">here</a>. I&#8217;ve even put the configuration files online <a href="http://files.pcode.nl/debian/misc/xfce-thinice-noble-skel.tar.gz">here</a>, which you can put in your /etc/skel to get everything configured by default for every new user which is added to your system.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/04/17/thinice-noble-compact/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Most Modern LCD Panels Are BGR Instead Of RGB</title>
		<link>http://blog.pcode.nl/2011/04/13/most-modern-lcd-panels-are-bgr-instead-of-rgb/</link>
		<comments>http://blog.pcode.nl/2011/04/13/most-modern-lcd-panels-are-bgr-instead-of-rgb/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 14:24:10 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=756</guid>
		<description><![CDATA[UPDATE: I think I screwed up here. I still need to reinvestigate this. Recently I purchased a nice cheap USB microscope, when I bought the thing I wasn&#8217;t sure if it would actually work with Linux, but in the end everything turned out fine as it&#8217;s a UVC camera, so it&#8217;ll work fine with for [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE:</strong> I think I screwed up here. I still need to reinvestigate this.</p>
<p>Recently I purchased a nice <a href="http://www.dealextreme.com/p/bw708v-1-3mp-200x-zooming-digital-usb2-0-microscope-camera-with-8-led-illumination-41937">cheap USB microscope</a>, when I bought the thing I wasn&#8217;t sure if it would actually work with Linux, but in the end everything turned out fine as it&#8217;s a <a href="http://en.wikipedia.org/wiki/USB_video_device_class">UVC</a> camera, so it&#8217;ll work fine with for example <a href="http://projects.gnome.org/cheese/">Cheese</a>.</p>
<p>Now, using that USB microscope, turning the LED lighting off, I took a look at several of my displays, here&#8217;s a sample from my cheap HP laptop, which has a cheap Samsung panel in it:</p>
<p><a href="http://blog.pcode.nl/wp-content/uploads/2011/04/hp_compaq_6730s_samsung_laptop_display.jpg"><img class="aligncenter size-medium wp-image-757" title="hp_compaq_6730s_samsung_laptop_display" src="http://blog.pcode.nl/wp-content/uploads/2011/04/hp_compaq_6730s_samsung_laptop_display-300x225.jpg" alt="" width="300" height="225" /></a>As you might note the subpixel configuration isn&#8217;t RGB, but it&#8217;s actually BGR (Blue, Green Red). And that certainly made me curious, was my laptop one of those exceptions? So I checked out my decent HP display (which has an LG IPS panel), and it has a BGR subpixel configuration too. Next up I checked my Yeeloong netbook, and guess what, it has a BGR subpixel configuration too.</p>
<p>Some of you might wonder why I&#8217;m talking about subpixels? Please don&#8217;t forget that a single pixel is comprised of three subpixels, one for each <a href="http://en.wikipedia.org/wiki/Primary_color">primary color</a>. This is also why the subpixels aren&#8217;t square, since each pixel comprised of three subpixels should be approximately square.</p>
<p>Now the silly thing is, I actually changed the <a href="http://en.wikipedia.org/wiki/Subpixel_rendering">subpixel rendering</a> in my font settings, but I can&#8217;t say I liked the BGR rendering better than the RGB rendering. I&#8217;m not sure why this is, I haven&#8217;t really looked into that yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/04/13/most-modern-lcd-panels-are-bgr-instead-of-rgb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading the Lemote Yeeloong&#8217;s RAM</title>
		<link>http://blog.pcode.nl/2011/03/31/upgrading-the-lemote-yeeloongs-ram/</link>
		<comments>http://blog.pcode.nl/2011/03/31/upgrading-the-lemote-yeeloongs-ram/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 21:22:23 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yeeloong]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=739</guid>
		<description><![CDATA[I own a Lemote Yeeloong which is sold with 1GB of RAM, which is fine for normal use. But since I do regularly compile stuff having a bit more RAM for caching would be very nice. Now when you open up the Yeeloong you&#8217;ll note it has a single DDR2 SODIMM slot populated with a [...]]]></description>
			<content:encoded><![CDATA[<p>I own a Lemote Yeeloong which is sold with 1GB of RAM, which is fine for normal use. But since I do regularly compile stuff having a bit more RAM for caching would be very nice.</p>
<p>Now when you open up the Yeeloong you&#8217;ll note it has a single DDR2 SODIMM slot populated with a 1GB 667mhz A-Data module.</p>
<p style="text-align: center;"><a href="http://blog.pcode.nl/wp-content/uploads/2011/03/adata_adope1a08342.jpg"><img class="aligncenter size-full wp-image-748" title="adata_adope1a08342" src="http://blog.pcode.nl/wp-content/uploads/2011/03/adata_adope1a08342.jpg" alt="" width="600" height="312" /></a></p>
<p>I tried replacing it with random Hynix 2GB 667mhz module and the Yeeloong wouldn&#8217;t boot at all. I&#8217;ve contacted the vendor to ask if it&#8217;s possible to upgrade the Yeeloong at all, and if so, if any requirements need to be met.</p>
<p>UPDATE: In the meantime I received a mail from Gilbert Fernandes who informed me that the memory in the Yeeloong should always be single rank (most typical 2GB modules aren&#8217;t). Since I don&#8217;t have 2GB single rank modules lying around, so I haven&#8217;t been able to test this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/03/31/upgrading-the-lemote-yeeloongs-ram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lemote Yeeloong 8089</title>
		<link>http://blog.pcode.nl/2011/03/31/lemote-yeeloong-8089/</link>
		<comments>http://blog.pcode.nl/2011/03/31/lemote-yeeloong-8089/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 21:16:29 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yeeloong]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=737</guid>
		<description><![CDATA[Unlike the past, the current reality is that all desktop hardware is x86 based, when we go back into the past let&#8217;s say mid &#8217;90s or even earlier, each vendor had it&#8217;s own architecture preference. I only got into computing well after x86 had asserted it&#8217;s dominance. And everything non-x86 was particularly pricey. I&#8217;ve always [...]]]></description>
			<content:encoded><![CDATA[<p>Unlike the past, the current reality is that all desktop hardware is x86 based, when we go back into the past let&#8217;s say mid &#8217;90s or even earlier, each vendor had it&#8217;s own architecture preference.</p>
<p>I only got into computing well after x86 had asserted it&#8217;s dominance. And everything non-x86 was particularly pricey. I&#8217;ve always wanted some non-x86 hardware, but back then it was practically out of reach, at least the current hardware was.</p>
<p>Now more than ten years later, old SGI hardware is affordable, but then again, you have to dedicate half a desk to a machine you&#8217;d only use for fun&#8230;</p>
<p>Now as some of you might have noticed the Chinese are actually reviving the MIPS architecture beyond the embedded realm. The Chinese have been steadily working on their own homegrown MIPS chip called the Loongson / Godson / Dragon CPU.</p>
<p>The first Godson never was available for purchase outside of China, but a company called <a href="http://www.lemote.com/">Lemote</a> has made various systems based on the Godson II chip.</p>
<p>Their dutch/european distributor <a href="http://www.tekmote.nl/">Tekmote</a> actually has a promotional <a href="http://www.tekmote.nl/epages/61504599.sf/nl_NL/?ObjectPath=/Shops/61504599/Products/CFL-004">sale</a> of their <a href="http://www.lemote.com/en/products/Notebook/2010/0310/112.html">Yeeloong</a> netbook. So I decided to buy one. A nice MIPS netbook is much more convenient than dedicating a desk to an old SGI machine, and more importantly the Godson architecture is alive as apposed to dying.</p>
<p>I&#8217;ve been fiddling with the machine for almost a month now, here are a few observations. The Yeeloong with it&#8217;s 900mhz Loongson 2F (Godson II), isn&#8217;t nearly as fast as a modern Intel Atom. And the Silicon Motion graphics chip is lamentable when compared to an Intel GMA. That said it&#8217;s still a functional netbook, and more importantly it&#8217;s not x86 <img src='http://blog.pcode.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The default heavily modified Debian install isn&#8217;t great either. Thus far I tried OpenBSD 4.8 on it which works but a lot of ports don&#8217;t work, but I&#8217;ve been hearing good things about OpenBSD 4.9 to be released in a month or so. Then I tried Gentoo on it, which works pretty well with some inconveniences. The Gentoo-MIPS team has been extremely helpful (thanks guys). Then I found out that it&#8217;s possible to install Debian Squeeze&#8217;s mipsel port (with a home-baked kernel) on the Yeeloong. And true to form Debian works extremely well. I&#8217;ll probably be documenting the installation procedure later on.</p>
<p>In the end I&#8217;m quite happy with the Yeeloong, it&#8217;s a fun device to fiddle with, especially considering almost everything is open source, no blobs required. Even it&#8217;s BIOS/Firmware called <a href="http://www.pmon2000.com/PMON2000/Main">PMON</a> is open source.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/03/31/lemote-yeeloong-8089/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Basic OpenType support in OpenOffice.org</title>
		<link>http://blog.pcode.nl/2011/01/19/basic-opentype-support-in-openoffice-org/</link>
		<comments>http://blog.pcode.nl/2011/01/19/basic-opentype-support-in-openoffice-org/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 20:31:20 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=735</guid>
		<description><![CDATA[Yay, I completely missed that OpenOffice.org finally supports OpenType fonts&#8230; Only basic support though, all the real OpenType candy isn&#8217;t properly supported yet. It&#8217;ll probably take another ice age to pass before OpenOffice.org will properly support OpenType. However without Sun or Oracle holding it back LibreOffice may stand a better chance of staying up to [...]]]></description>
			<content:encoded><![CDATA[<p>Yay, I completely missed that OpenOffice.org finally <a href="http://www.openoffice.org/dev_docs/features/3.2/#general_font">supports OpenType</a> fonts&#8230; Only basic support though, all the real <a href="http://en.wikipedia.org/wiki/OpenType_feature_tag_list">OpenType candy</a> isn&#8217;t properly supported yet. It&#8217;ll probably take another ice age to pass before OpenOffice.org will properly support OpenType.</p>
<p>However without Sun or Oracle holding it back <a href="http://www.libreoffice.org/download/">LibreOffice</a> may stand a better chance of staying up to speed on current technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/01/19/basic-opentype-support-in-openoffice-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Encoding Theora using ffmpeg</title>
		<link>http://blog.pcode.nl/2011/01/13/encoding-theora-using-ffmpeg/</link>
		<comments>http://blog.pcode.nl/2011/01/13/encoding-theora-using-ffmpeg/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 21:31:55 +0000</pubDate>
		<dc:creator>pmjdebruijn</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.pcode.nl/?p=729</guid>
		<description><![CDATA[So, there is ffmpeg2theora which you want use to easily encode to Ogg/Theora/Vorbis, however you can use plain ffmpeg too which offers a bit more flexibility in some ways. For example you can embed Theora and Vorbis into a Matroska container, which should have an index, which could make seeking easier (in theory). So for [...]]]></description>
			<content:encoded><![CDATA[<p>So, there is ffmpeg2theora which you want use to easily encode to Ogg/Theora/Vorbis, however you can use plain ffmpeg too which offers a bit more flexibility in some ways. For example you can embed Theora and Vorbis into a Matroska container, which should have an index, which could make seeking easier (<em>in theory</em>).</p>
<p>So for an example, the following commandline encode a source video file, into a DVD quality (720&#215;576 <a href="http://en.wikipedia.org/wiki/Anamorphic_widescreen">anamorphic widescreen</a> resolution), using a &#8220;Long&#8221; <a href="http://en.wikipedia.org/wiki/Group_of_pictures">GOP</a> of 15 which again <em>should</em> make seeking more efficient, although it will increase filesize):</p>
<pre># ffmpeg -i input.mp4 -s 720x576 -aspect 16:9 \</pre>
<pre>         -vcodec libtheora -g 15 -qscale 8 \</pre>
<pre>         -acodec libvorbis -ac 2 -aq 6 \</pre>
<pre>         -sn output.mkv</pre>
<p>It&#8217;s just an example you can customize to hearts desire.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pcode.nl/2011/01/13/encoding-theora-using-ffmpeg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

