Saturday, October 31, 2009

Saturday, August 01, 2009

Farewell, Cory

Cannon shots are being fired every 30 minutes at the military base near our house. It surprises the shit out of me, so I wrote a cronjob to warn me of incoming shots:
0,30  *   *   *   *   echo "Incoming cannon shots in 30 minutes." | say -v Vicki
29,59 * * * * echo "Incoming cannon shots in 1 minute." | say -v Vicki

I didn't know Mac OS X speech synthesis feature was scriptable!

Tuesday, June 30, 2009

Agavi Validation

I'm trying to learn how Agavi's validation system works.

I wrote a writeup on my wiki.

Saturday, June 27, 2009

Google Moderator part 2

before sending a new page request, the server checks the differences on what the client already has, and what its going to sent. the difference is then compressed and sent, browser on the client patches it. this should provide amazing improvement.


What kind of files? Generating a diff from file A and B, where A and B are totally unrelated files, results in a file which is more or less the same size as B. Therefore, this won't provide "amazing improvement".

Browsers already support caching and HTTP compression.

My idea is to make a giant web where the internet connection is splitted between the people connected so there is no connection wasted, think for example, when somebody with 10 mb/s turns off the pc nobody can use that speed, maybe you can make it :)


QoS.

Governments should aim to provide affordable broadband access for all citizens, in the same way they provide access to affordable water, electricity or shelter.


Government-run ISP? No thanks.

The government needs to subsidize the various brodband access methods out there. Things like Brodband over Power lines, and low orbit satellites. We've spent 7.4 trillion, one would think there is some money in there to fund this stuff.


Government subsidy? Do you know where that money comes from? From taxes, of course. Are you suggesting that people who don't use the Internet will subsidize people who use 1TB of bandwidth per month? Good thinking!

2 ways to make the web faster, 1st one is stopping illegal contents, spams & peer2peer streams, to access & saturate large % of ISPs bandwidth; the 2nd one is replacing the customer's outdated PSTN cables by optic fiber, but how will pay THE BILL ?

Use bandwidth effectively by removing the limits and allocating it to who use them the most,...instead of giving high bandwidth for a person who uses internet just to check an email, give it to someone who runs a webserver...


You want to censor the Internet? Die, communist, die!





Friday, June 26, 2009

Let's make the web faster: Google moderator

Okay, I'm sufficiently annoyed with the ideas posted in Google moderator. Most of the ideas posted there are not new, and they can be implemented with existing technology. The sad thing is, people vote them up.

most websites are templated on the serverside, and for most websites every page you view means about 20% of data transfer is the template. the template should only load once, and should be done in browsers.


You mean like XSL Transformations, which is already implemented in several Web browsers?

P2P browser: Standard browsing is exclusively client/server. Imagine instead that every browser is a P2P app and reports webpage data it downloads to "tracking servers" so when someone else wants the same page they get it from several peers instead


You mean like The Coral Content Distribution Network?

Extend HTML mark-up with new elements. The code will be more complicated because of more elements, but much shorter. Same with CSS - extend number of properties to resolve different tasks by one style property. Reduce size of properties names for CSS


Extend HTML? Oh, so you mean like XHTML, or the Extensible Hypertext Markup Language?

Apache has modules like mod_perl, mod_php and other that allow you to extend the functionality of the browser. While Firefox 'plugins' do that for the frontend, why not make modules for the 'backend' of the browser that enable you to send PHP or Perl


Send what?

Come up with rules which can't be explained by different ways. Like padding in IE and FF - now to make page with same look in all popular browsers you should add more code and CSS which increase size of page and take more time...


You mean like XHTML Strict?

Developers need to comeup with a way to use the already existing information through browoser. Say if it is the same IP packets receiving from the past try to use it and construct the patterns. Avoid duplicate bits to receive. This helps in bandwidth


You mean like using caching settings in the HTTP header?

Many headers that are being sent as part of every HTTP req. and resp, though all HTTP headers are optional. Web servers have to rethink on file naming and their url references. Smaller data to be transported means faster transport.


What kind of rethinking? What kind of URL references? What kind of naming?

And save what, 8 bytes?

Why don't we have an alternative to HTML? I mean open source, anyone can commit changes to the source, and a group oversees which changes are actually put in place. HTML5 will not be released till 2022, and that's when you realize it's ridiculous.


What's ridiculous is that you think HTML is a program.

w3c should regulate the release of browsers. if a browser doesn't pass all the tests for a standard, it should be allowed to call itself a "browser" . because of browsers not following standards, we forcefully hv to implant hacks, and make web slower


Are you a communist?



Wednesday, June 03, 2009

Moo

simoncpu-dev:~# apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
simoncpu-dev:~# aptitude moo
There are no Easter Eggs in this program.
simoncpu-dev:~# aptitude -v moo
There really are no Easter Eggs in this program.
simoncpu-dev:~# aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
simoncpu-dev:~# aptitude -vvv moo
Stop it!
simoncpu-dev:~# aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
simoncpu-dev:~# aptitude -vvvvv moo
All right, you win.

/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
simoncpu-dev:~# aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.

Tuesday, June 02, 2009

HOWTO Access a VMWare console from Mac OS X or Linux

Problem

There are no VMWare Server clients for Linux and Mac OS X. VMWare provides a Web UI for its server, but it requires a plug-in that doesn't work* on non-Windows platforms.

Solution
  1. SSH into the VMWare Server.
  2. Navigate to the VM folder, and edit the *.vmx file.
  3. Enable VNC by appending the following settings:
    remotedisplay.vnc.enabled = "TRUE"
    remotedisplay.vnc.port = "5900"
    remotedisplay.vnc.password = "foobar"
  4. Start/restart your VM.
  5. Connect to your VM using a VNC client. I'm currently using Chicken of the VNC. You might want to google for a client that suits you.
If you need to connect to multiple VMs, simply use a different port (5900 for display :0, 5901 for diplay :1, etc).

I haven't tried this with VMWare ESX Server. I'll try this in the office tomorrow.

* It somewhat works in Linux.

Thursday, May 28, 2009

HOWTO Import VMWare Fusion disk images to VirtualBox


Here are the steps on importing VMWare Fusion disk images to VirtualBox.

First, create a hard link from your VMWare package.

simoncpu@soulfury:~/Documents/Virtual Machines$ ln -h "Debian Linux.vmwarevm/Debian Linux.vmdk"
You can move or copy it anywhere you want. What's important is that it's accessible outside the original directory because Mac OS X doesn't treat the package as a navigable directory.

Next, create a new VirtualBox VM. In the "Create New Virtual Machine" wizard, select "Use existing hard disk" and open the Virtual Media Manager. Click "Add", and navigate to the hard link that you've created earlier.

Click "Finish" to create your VM. In theory (i.e., I haven't tested this) the OS will now boot at this point as long as you've used an IDE controller from VMWare. If not, then proceed as follows:

Change your VM's settings and go to the Storage tab. Next, check the "Enable Additional Controller" checkbox and select any SCSI controller from the drop down box. In the Attachments section, change your hard disk's slot from IDE Primary Master to SCSI Port 0.

Click OK, and start your VM.

Thursday, April 30, 2009

Process Management in PHP

My PHP script downloads a series of binary patches and places them into a directory for further processing. It also creates lock files to prevent two or more instances of my script from being run.

The Problem

When the script receives a SIGINT (Ctrl+C) or SIGTERM signal from the OS, my script is prevented from cleaning up the temporary files, which usually occupies hundreds of MB of space. The lock files also become stale, so my script prevents itself from being run until the next reboot, when the /tmp directory is cleaned up.

The Solution

The solution is to catch the signals so that my script is given one last chance to perform cleanup:
function sig_handler($signo)
{
switch ($signo) {
case SIGTERM:
case SIGQUIT:
case SIGABRT:
case SIGINT:
echo "==> Software Update has been aborted.\n";
echo "==> Performing cleanup...\n";
cleanup();
exit();

break;
default:
// Unknown signal. Do something here...
exit();
}

}

pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGQUIT, "sig_handler");
pcntl_signal(SIGABRT, "sig_handler");
pcntl_signal(SIGINT, "sig_handler");

Wednesday, April 29, 2009

tail -F in PHP

I'm currently writing a PHP script that pushes live log data to the front-end UI. I'm using a streaming Comet model such that my back-end would update the front-end's screen every time the log file is updated.

Unix has a nifty utility called 'tail' that can continuously monitor a file for updates and display them to standard output (which is the usually the monitor). By capturing tail's output via popen(), I was able to make a log file viewer with just a few lines:

exec("/usr/bin/killall tail");
// execute myapp in the background and redirect all of its output to logfile
exec("/usr/local/bin/myapp > /var/log/mylogfile.log 2>&1 &");

$handle = popen("/usr/bin/tail -F /var/log/mylogfile.log 2>&1", 'r');
while(1) {
$buffer = fgets($handle);

if (trim($buffer) == '-- ok') { // this string signifies end of execution
pclose($handle);
exec("/usr/bin/killall tail");
exit();
} else {
echo trim($buffer);
// if you're using Comet, push output to the stream here
}

ob_flush();
flush();
}
Very cool...

Wednesday, January 21, 2009

HOWTO Revert your Git repo to a certain commit

Get the SHA1 hash of the commit that you wish to revert to.

% git log

...

commit 9ce5e10ac4fe43e9b580344454dd27172b6c4456
Author: Simon Cornelius P. Umacob
Date: Tue Jan 20 16:30:42 2009 +0800

show/hide icmp6box

commit f193cf92b2c925a2f3f71a713d766efd1e4d81e0
Author: Simon Cornelius P. Umacob
Date: Tue Jan 20 15:52:39 2009 +0800

Merge IPv6 changes

commit 1f9f2a95b7b42cf33e730535092e56e214fdb848
Author: Simon Cornelius P. Umacob
Date: Tue Jan 20 14:55:07 2009 +0800

Merge IPv6 changes

commit ce996bd3014b05fea5eaffd7c738c5c549fd7677
Author: Simon Cornelius P. Umacob
Date: Tue Jan 20 14:30:27 2009 +0800

add IPv6.inc and NetUtils.js

...

% git reset --hard ce996bd3014b05fea5eaffd7c738c5c549fd7677

HEAD now points to ce996bd3...

To go back to the "original" HEAD, find its SHA1 hash and reset your current HEAD to that state.

% git reflog
simoncpu@pfsense:/home/pfsense/simoncpu-IPv6> git reflog
74fb85b... HEAD@{0}: pull git@rcs.pfsense.org:pfsense/mainline.git: Fast forward
9ce5e10... HEAD@{1}: commit: show/hide icmp6box
f193cf9... HEAD@{2}: commit: Merge IPv6 changes
1f9f2a9... HEAD@{3}: commit: Merge IPv6 changes
ce996bd... HEAD@{4}: commit: add IPv6.inc and NetUtils.js
cfc4dab... HEAD@{5}: clone: from http://gitweb.pfsense.org/pfsense/simoncpu-IPv6.git

% git reset --hard 74fb85b

Note that you need not use the full SHA1 string to refer to an object.
The first few characters is enough.

Friday, January 16, 2009

pfSense IPv6

I'm currently merging our IPv6 changes to pfSense by hand so that I can commit our changes upstream once their migration from CVS to git is complete.

"With a thousand eyes, all bugs are shallow", they say. Sharing this code to the world will most likely uncover many bugs and make our code more stable. I just hope that with a thousand eyes, I won't receive a thousand flak from users in case I break something.

I'll probably break something. :)

UPDATE: As of January 16, 2011, development has been stopped. If you wish to continue development, please contact me (simoncpu at gmail.com) or post a bounty. Thanks! :)


(whoah, I realized that this post was made exactly 2 years ago lol)

Friday, January 09, 2009

HOWTO let lighttpd listen to both IPv4 and IPv6 requests on *BSD

Problem
When enabling IPv6 using server.use-ipv6 = "enable", lighttpd no longer listens to IPv4 requests.

Solution
Set a sysctl knob so that it will accept both IPv4 and IPv6 requests:
root@soulfury:~# sysctl net.inet6.ip6.v6only=0

Tuesday, November 25, 2008

pf IPv4 and IPv6 shortcut

There's a shortcut for creating a pf rule that applies to both IPv4 and IPv6. E.g.:

pass in quick on em0 from { 192.168.86.0/24, 2001:418:c0de:babe::/64 } to any keep state label "experimentation"

Results in:

root@soulfury:~# pfctl -sr | grep experimentation
pass in quick on em0 inet from 192.168.86.0/24 to any flags S/SA keep state label "experimentation"
pass in quick on em0 inet6 from 2001:418:c0de:babe::/64 to any flags S/SA keep state label "experimentation"

Monday, November 24, 2008

Hello world from links

I forgot to bring my MacBook, so I'm now surfing the Net in a text-only browser inside a server. I'm surprised that Blogger works. Very cool.

Saturday, November 22, 2008

Hello world from Acer 4330 and Windows Vista

Hello world! WLAN and LAN works fine.

Acer 4330 Driver Installation

I'm continuing the setup for my Acer 4330 laptop. I gave up installing Windows XP because I don't have the time to hunt down the correct drivers. I've installed Windows Vista instead.

I'm annoyed with Vista's UI. Fortunately, I won't have to use this because I'll give this to my parents. Sorry mom and dad, I really don't have time to install XP. This is the best I can do.

The DVD provided with the laptop contains multiple drivers. I think Acer doesn't use a standard hardware for all of its laptops. I think they just choose the cheapest hardware available at the time of production.

Anyway, here are the drivers that worked for me:
Chipset - Intel Chipset
VGA - Intel VGA driver
Audio - Realtek (No need to install; it works after installing Vista. Install this if you want the volume buttons to work.)
Modem - Foxconn, probably, but I didn't install it
LAN - Realtek
TouchPad - ALPS Touchpad
Card Reader - I don't know; there was no need to install it.
Camera - There are 3 drivers (Suyin, Bison, and Chicony), but I didn't bother installing any of them. Please leave a comment if you know the correct one.
WLAN - Atheros
BlueTooth - the only driver, Foxconn, doesn't seem to work. I'm not sure if there's really a built-in Bluetooth in this laptop. There's a Bluetooth button, but this may have been reserved for other models.

Friday, November 14, 2008

HOWTO Turn off DHCP Servers in VMware Linux

To turn off VMware's DHCP server in host-only network, simply find the appropriate DHCP process, and kill it:

root@soulfury:~# ps auxww | grep dhcp
root 5060 0.0 0.0 1892 252 ? Ss Nov10 0:00 /usr/bin/vmnet-dhcpd -cf /etc/vmware/vmnet8/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet8/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8
root 5061 0.0 0.0 1888 520 ? Ss Nov10 0:00 /usr/bin/vmnet-dhcpd -cf /etc/vmware/vmnet1/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet1/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1
root 21281 0.0 0.0 2796 748 pts/0 R+ 15:31 0:00 grep dhcp
root@soulfury:~# kill 5061

Thursday, November 13, 2008

FreeBSD Problem: Can't see files/dirty state at each boot.

Weird problem. The filesystem is in an unclean state at each boot, even though I have ran fsck before booting the system. Initially, our problem is that our app can't "see" certain files at first read, although subsequent attempts on reading them are OK. Later, we discovered that the filesystem is dirty at each boot. The problem is similar to this issue in FreeBSD-CURRENT. We're using FreeBSD 7.0-RELEASE though, so I'm not sure if we have the same problem. I need to track this down.

Tuesday, November 04, 2008

PHP doesn't support dot characters in form names

I've written a PHP proxy script that communicates with an underlying application. I encountered a problem where the script is unable to proxy data that contains dot characters in the form name.

To illustrate:
<?php
var_dump($_POST);
?>
<form action="test.php" method="post">
<input name="this.is.a/variable" type="text" />
<input type="submit" />
</form>
Output:
array(1) {
["this_is_a/variable"]=>
string(0) ""
}
Notice the array key in the var_dump(); dots are converted into underscore.

Solution

I accessed the raw input stream directly instead of using $_POST:
<?php
$data = file_get_contents("php://input");
$response = proxy_blah_blah($data);
?>

Tuesday, October 28, 2008

HOWTO Install Windows XP on Acer 4330

(Image courtesy of Raymond.CC)

I bought an Acer Aspire 4330 a few days ago, but I couldn't install Windows XP. I think it's designed for Vista, but I don't want to use it because it's unusable. Windows XP Setup coredumped after a minutes, and I thought I had to slipstream the installation CD to solve this. Fortunately, a friend told me that all I had to do was to change my SATA mode from AHCI to IDE. The setup then went smoothly.

Installing the drivers is a PITA. The drivers in the provided DVD doesn't work because they're for Vista. I had to download the files from their FTP site.

Unfortunately, they provide multiple drivers for the same device. Do I need to use the driver for Atheros? Or Broadcom? Or Intel? Blah.

I'll continue installing the drivers tomorrow. I still have to finish this router/load balancer that I'm making. Hopefully, our connection would become twice as fast after we combine Bayantel and Globe connections. More on this later.

Monday, October 27, 2008

PHP's New Namespace Separator

I don't like PHP's new namespace separator. I prefer '::' to '\'.

Aaaaargh... why did they choose the escape character?

Slow lighttpd using IPv6

I've been wondering why lighttpd seems to be so slow when IPv6 is enabled. I discovered that I had to bump the minimum and maximum number of FastCGI process (min-procs/max-procs) by twice as much because it appears that lighttpd divides the available PHP processes between IPv4 and IPv6. I dunno why it does that.

Thursday, October 16, 2008

How to destroy all gif interfaces in FreeBSD

To destroy all gif interfaces in FreeBSD (vanilla Bourne shell):
for i in `ifconfig -a | grep gif | grep -v '%' | sed -n -e 's/\(.*\):.*/\1/p'`; do
ifconfig $i destroy
done

Monday, October 13, 2008

Stuck DVD inside MacBook

A DVD got stuck inside my MacBook. What I did was to insert a prepaid card (it's made of plastic that's thin yet durable enough for this purpose) into the DVD slot, pushed it upwards and pressed the eject button. The DVD then came out.

Thursday, October 09, 2008

Looking for a used PC

I'm looking for a used Pentium III (or better) PC that I can use as a router/firewall. No need for monitor, keyboard, or CD-ROM. Just a CPU with enough hard disk and RAM. Please contact me if you have one. Cebu area only.

Wednesday, October 01, 2008

Library dependency woes

One of my Unix workstation is now fucked up due to forced installation of incompatible libraries. I guess I'll have to reformat it in order to start from a clean slate. I'm planning to temporarily transfer my files to my external harddisk, but FreeBSD can't seem to read it although it has been formatted as UFS. I formatted that harddisk on my Mac OS X laptop, thinking that it can be read in FreeBSD, but Mac OS X seems to have a different interpretation of what UFS is. Blah. I guess I need to reformat my external harddisk to FAT32 too. Oh wait. If I format it as FAT32, what would happen with my file permissions? Maybe I'll just use tar or something. Blah, blah, blah.

Wednesday, September 10, 2008

Google Chrome Browser on Mac OS X

While waiting for a Mac OS X version of the Chrome browser, I've content myself with VMWare Fusion's Unity feature instead:


Cool, huh?

Monday, July 07, 2008

Figlet Preview

Problem:
I wanted to use figlet but I can't decide which font to use.

Solution:
To inspect all fonts visually, simply do:
% cd /usr/local/share/figlet
% for i in `ls *.flf | sed -n -e 's/\(.*\)\.flf/\1/p'`; do echo Phuselage | figlet -f $i; done | less

Your mileage may vary; the font dir may be different on your operating system.

Friday, June 20, 2008

Synchronizing two CVS repositories using Mercurial

We're in a situation where we have access to some of our partner's source code. We need to keep in sync with their repo, otherwise our copy would quickly become stale.

Currently, we can do this manually because our changes are still small. A few months from now, however, our changes will eventually drift away from their code and merging it with our tree would become difficult.

A distributed version control system is in order. Here's how I did it:


+-----------------+ +------------+ +------------+ +----------------+
| Upstream | | Immutable | | Working | | Local |
| CVS repository |-------->| Mercurial |---------------->| Mercurial |-------->| CVS repository |
+-----------------+ import | repository | Mercurial pull | repository | export +----------------+
+------------+ +------------+
|^
||
||
v|
User

In theory, exporting it back to CVS is no longer needed. In practice, however, I needed to maintain "compatibility" with my fellow developers who only use CVS. I hope we'll eventually migrate away from CVS though because merging lots of files is really time consuming. Merging/branching is CVS' main weakness.

Thursday, June 19, 2008

MySQL: How to merge two databases

I'm currently managing a couple of databases in a production server. The problem: I need to know what new tables were created from Database 1 and merge them to Database 2.

Here's the solution:

0. Backup the target database.
% mysqldump -h [HOST] -P [PORT] -u [USERNAME] -p[PASSWORD] Database2 > Database2.sql

1. Extract the table names from the source and target databases.
% echo show tables | mysql -h [HOST] -P [PORT] -u [USERNAME] -p[PASSWORD] Database1 | sed '1d' > one.tables
% echo show tables | mysql -h [HOST] -P [PORT] -u [USERNAME] -p[PASSWORD] Database2 | sed '1d' > two.tables

2. Perform the merge.
% mysqldump -h [HOST] -P [PORT] -u [USERNAME] -p[PASSWORD] Database1 \
`diff --unchanged-line-format='' --new-line-format='%l ' two.tables one.tables` | \

mysql [HOST] -P [PORT] -u [USERNAME] -p[PASSWORD] Database2

Wednesday, June 04, 2008

Unix/Linux Tip: Syntax check your PHP files

If you wish to syntax check (lint) all the PHP files in your current directory, simply do:
    for i in `ls *.php`; do
        php -l $i
    done

Thursday, May 29, 2008

Fedora/Redhat Linux: C/C++ : unfound library "mysql.h"

If you encounter this problem while compiling an application that links to MySQL, you can fix this by simply installing mysql-dev:
    # /etc/init.d/mysqld stop
    # yum install mysql-dev

Saturday, April 26, 2008

FreeBSD Tip: How to delete all IPv6 address in an interface

You can delete all IPv6 addresses in an interface using the following command (vanilla Bourne shell):

while i="`ifconfig le0 | grep inet6 | grep -m 1 -v '%'`"; do
ifconfig le0 $i delete
done
Note: replace le0 with your interface name.

Friday, April 25, 2008

Bridge problem with FreeBSD 7.0-RELEASE

Problem
The FreeBSD Handbook states that "if the bridge host needs an IP address, then the correct place to set this is on the bridge interface itself rather than one of the member interfaces."

With FreeBSD 6.x and FreeBSD 8.0-CURRENT, setting the IP address on the bridge works without any problem. With FreeBSD 7.0-RELEASE, however, this does not work. The OS doesn't even properly boot when the IP address is set via /etc/rc.conf.

Solution
This is probably a temporary solution, but try setting the IP address to one of the member interface. This is in direct opposition to the advice given in the Handbook, but it works for me.

If this is a bug (which I suspect it is), a patch probably exists somewhere. Please feel free to leave a comment.

Friday, April 18, 2008

JPEG support for ImageMagick

Problem
On Debian Linux, there seems to be no out-of-the-box support for JPEG in ImageMagick.

Solution
First, install libjpeg62-dev library. libjpeg62 doesn't work because it doesn't include the necessary development files. Next, download ImageMagick's source and compile it manually. Use ./configure --with-jpeg=yes for configuring.

Tuesday, April 08, 2008

OpenLaszlo IDEforLaszlo Eclipse plugin


Syte GMBH has provided an update for IDEforLaszlo plugin to support OpenLaszlo 4.0.10 and OpenLaszlo 3.4. IDEforLaszlo has been stale for quite some time now, and I'm glad that someone has offered their time and effort for this project. I'll be checking it out later.

IDEforLaszlo can be found at http://www.syte.ch/en/laszlo.xml.

Friday, April 04, 2008

Technical Humor

Yeesh, I found the links for the April 1 RFCs. Here's a dose of highly technical humor:
  • RFC 5241 — Naming Rights in IETF Protocols. A. Falk, S. Bradner.
  • RFC 5242 — A Generalized Unified Character Code: Western European and CJK Sections. J. Klensin, H. Alvestrand.
WARNING: Reading the above documents may result in nosebleed.

Tuesday, April 01, 2008

Morph eXchange

Our friends from Morph Labs has just launched version 2.0 of their Morph eXchange website. Congratulations, butterfly!

April 1, 2008 RFC

It's April 1 already, but I can't seem to find prank RFCs for this year...

Monday, March 31, 2008

IPv4/v6 Regular Expressions

I found these useful regexes in my notes. I probably found this somewhere on the Internet, but I forgot where.

IPv4 address

^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

IPv6 address

^[0-9a-fA-F]{1,4}(\:[0-9a-fA-F]{1,4}){7}$

Note that this does not work with shortened form such as dead::beef. dead:0000:0000:0000:0000:0000:0000:beef must be used instead.

Thursday, March 20, 2008

dnsmasq: unknown interface xennet0

As of version 2.41, dnsmasq doesn't support Xen virtual network interfaces in NetBSD. This means that running dnsmasq inside a Xen domU results in the following error:

dnsmasq: unknown interface xennet0

Uberlord made a patch just a few moments ago:
- http://roy.marples.name/~roy/dnsmasq-netbsd.patch
- http://roy.marples.name/~roy/dnsmasq-bridge.patch

The beauty of Open Source... =)

Tuesday, March 18, 2008

Permission denied to call method XMLHttpRequest.open

Problem
When deploying DHTML OpenLaszlo applications in SOLO mode, attempts to fetch datasets results in the following error:

ERROR: uncaught exception: Permission denied to call method XMLHttpRequest.openLFCdhtml-debug.js (line 1421)
uncaught exception: Permission denied to call method XMLHttpRequest.open

Solution
As a security measure, most browsers restrict XMLHttpRequest such that they don't accept XML data if the HTTP response headers are not properly set. To fix this, simply change Content-Type to:
Content-Type: application/xml; charset=UTF-8

Monday, March 17, 2008

xen Error: Device 2050 (vbd) could not be connected. Backend device not found.

Problem
NetBSD dom0 is unable to launch more domUs. Attempting to launch more domUs results in the following error:
xen Error: Device 2050 (vbd) could not be connected. Backend device not found.
Solution
The system ran out of loop devices. Create more vnode disks using the following command:
/dev/MAKEDEV vnd1
/dev/MAKEDEV vnd2
...and so on

Friday, March 14, 2008

__LZgetNodes: p is null in Datapath

I'm creating an IPv4/IPv6 OpenLaszlo widget that can bind to a datapath. I spent hours trying to find out why this.datapath.getNodeText() doesn't work inside <handler name="oninit">, although it works fine inside <method>. I kept getting an error of "p is null in Datapath."

For developers experiencing a similar problem, you might want to check out Laszlonia's entry on his blog. It turns out that I simply had to use <handler name="ondata">.

Tuesday, March 11, 2008

map methods execute*() methods in Agavi

Agavi is architecturally beautiful. I can really appreciate the way they designed this thing. One fundamental problem with this framework, however, is that it lacks good documentation. You need to read the code, or ask others who already did, for you to answer some very simple questions.

In my case, I was looking for a way to change the HTTP verb mappings with AgaviWebRequest methods.

Agavi maps executeCreate() with HTTP PUT and executeWrite() with HTTP POST. If I use these functions in the context of REST architecture, it makes more sense if they are mapped the other way around. Although I understand that there is no single way to implement REST, there seems to be a general agreement that update operations should be mapped to HTTP PUT while create operations should be mapped to HTTP POST.

Fortunately, Agavi provides a simple (undocumented) way to change the mappings. In config/factories.xml, simply add:
              <request class="AgaviWebRequest">
<parameter name="method_names">
<parameter name="POST">create<parameter>
<parameter name="GET">read<parameter>
<parameter name="PUT">write<parameter>
<parameter name="DELETE">delete<parameter>
<parameter>
<request>
Thanks to the crazy guy, MikeSeth. =)

Friday, March 07, 2008

confused on implementing REST using HTTP PUT

I'm implementing a REST web service using PHP5 right now. I'm a bit confused on how to implement a write operation using HTTP PUT verb.

In PHP, data that are sent via HTTP POST are in the following format:
variable1=data&variable2=data
The data is immediately available via $_POST. Data that is sent via HTTP PUT is uploaded as a file to the server and must be parsed before reading. There's nothing wrong with it per se, except that writing data is inconsistent. There's no problem requiring my REST clients to upload a file using HTTP PUT, except that it's inconsistent.

So far, I used curl for testing my web app. I haven't tried sending data via <form> using a web browser, and I don't know whether <form method="put"> works. If it does, then the browser would probably send the data similar to POST's format, with only a different header (UPDATE - 2008/03/11: yepp, it indeed works that way). Blah, possibilities, possibilities.

I'm using Agavi framework, by the way. It's a kick-ass lightweight framework. Agavi is beautiful, but the documentation is sparse. Documentation effort is underway, and I hope to see more of it in the coming weeks. Without it, Agavi is considered "fringe" at the moment (I like fringe software; I even use fringe operating systems such as *BSD hehe).

cvsmode in csup

Nice, there are now patches for CVSMode support in csup: http://people.freebsd.org/~lulf/patches/csup/cvsmode/. This means that csup can now fetch complete CVS repositories. Thank you Ulf, whoever you are!

Tuesday, February 26, 2008

pfSense 1.2



It's official! pfSense 1.2 has now been released.

pfSense is a free, open source customized distribution of FreeBSD tailored for use as a firewall and router. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution. pfSense is a popular project with more than 1 million downloads since its inception, and proven in countless installations ranging from small home networks protecting a PC and an Xbox to large corporations, universities and other organizations protecting thousands of network devices.

This project started in 2004 as a fork of the m0n0wall project, but focused towards full PC installations rather than the embedded hardware focus of m0n0wall.

Tuesday, February 19, 2008

Live DVD for Linux Games

I'm currently researching for information on how to build BSD systems that are small enough to fit inside a CF card with enough space left for user data. This is for an embedded application project that would magically transform packets through some magical incantation.

As I was googling, however, I came across a Linux project for Linux games. The project is live.linuX-gamers.net, "a collection of games [that would run directly] from DVD without the user in need to know about Linux or care about his system." Its motto is "boot 'n play."

Very cool. I might try it some time.

Wednesday, February 13, 2008

Xen on NetBSD amd64

I'm trying to install Xen hypervisor on our amd64 box with NetBSD-4.0. I'm getting a couple of errors on getting it to run. The friendly folks at #netbsd told me that I either need to use i386 kernel or use the bleeding edge NetBSD-CURRENT. They suggested that I setup a wiki page to document my progress. I've created an account at http://wiki.netbsd.se/ and I'll see how it goes. I hope this small contribution would benefit others who need to use Xen/NetBSD on x86_64 hardware.

UPDATE: Here's the wiki page-- http://wiki.netbsd.se/Xen_3.1_on_x86_64

Saturday, February 02, 2008

NetBSD 4.0

Okidoki, I finally had time to install NetBSD 4.0. As expected, NetBSD was able to support a box with ICH9 chipset. Impressive. I was about to assign almost 250GB to my / partition (I hate having to assign fixed space among multiple partitions, and I don't find dangerously-dedicated partitions particularly dangerous anyway), but I've stumbled upon an online discussion stating that Xen has some issues with a large root partition (yeah, yeah... I often find myself stumbling upon something that I wasn't looking for pretty lately. I seem to have this thing with serendipity). It also has a few issues on non FFSv1-formatted partitions as well. Oh well, I guess I just have to take their word for it. The box is humming steadily as it downloads the necessary packages.

Wednesday, January 30, 2008

Firefox 3 beta 3 screenshot

Okidoki, here's a screenshot of Firefox 3 beta 3 (?) in Mac OS X. I wonder why this version is called "minefield." Maybe it's because it'll explode anytime?

Firefox 3

I've switched to Firefox 3.0 beta 2 a couple of weeks ago because I've been frustrated by the constant lockups the browser gave me. Firefox was fine when I first started using it around version 0.x - 1.x. Sure, it did have some security issues, but the development team would quickly fix it up as soon as they were discovered.

Much (virtual) ink have already been spent discussing this issue on other forums, so there's no need to enumerate my problems here.

Firefox 3 beta 2 is cool, and I no longer experienced constant lockups unlike before. It would crash, yes, but only rarely. Too bad the Web Developer extension isn't available yet on Firefox 3.

Anyway, I'll be trying the nightly Firefox 3 build (is it on beta 3 yet?) for Mac OS X. It apparently has a new look, but I don't know if it already has native Mac controls. They promised that the final version would have one. Oh well, I'll wait and see.

Tuesday, January 29, 2008

Lazy geek

I'm lazy. I'm often satisfied of simply knowing that I can do something if I want to, even if I don't actually do it.

I'll try to blog at least 1 post per 2 days. This will be an exercise in organizing my thoughts in a manner that is understandable by other people. Contrary to common misconception, my internal thoughts are very organized; it's just that it's structured quite differently (I've learned this the hard way as I grew old), and some of my internal thoughts don't seem to exist in verbal and numeric form. They exist as symbols.

Many of them exist as ideas that are not really ideas; they have this certain qualities that cannot be described with mere words. They are blah, blah, blah, and I think I have to stop introspecting now because this won't make sense anyway and I need to go home now.

Typing my thoughts impromptu makes some very weird post.

Monday, January 28, 2008

Free legal music at Qtrax

Qtrax is launching a legal ad-funded peer-to-per (P2P) music service. Their software doesn't seem to be available at the moment though. As of Jan 28, 2008 6:45PM (I'm here in a +8 GMT zone), Qtrax' website says that their Windows client will be available on midnight, EST. Their Mac OS X client will be available on March 18, 2008. Hmmm... this looks interesting

Tuesday, January 22, 2008

Xen on FreeBSD-8.0

Oooh, there are updates on www.fsmware.com! Finally! :) Check out the FreeBSD/Xen wiki as well.

BSD on a box with ICH9 chipset

I've been trying to install FreeBSD on a box with an ICH9 chipset to no avail. FreeBSD-CURRENT (the soon to be 8.0) doesn't seem to work either. There has been discussions in the mailing list that it works with FreeBSD-CURRENT, but it really doesn't work on my box.

NetBSD seems to support ICH9 on 4.0, but I prefer FreeBSD over NetBSD. Oh well, I'll just download the ISO and see how it goes. If it works, then I'll try to replace the kernel with a Xen hypervisor. Our box has a whooping 250GB of hard disk space, and it's more than enough to run a few domU Linux systems. Hmmm... It'll also be an opportunity to run Plan 9 domU as well. I haven't tried that yet. I'm wetting my pants with nerdish delight now.

Thursday, December 20, 2007

Anti-aliasing in MacOS X

I thought I'd get used to MacOS X font-aliasing. I've always turned this off in Windows, because it makes me unable to read small text. My favorite fonts such as Verdana and Tahoma look gorgeous in 8pt and 10pt, but they look like shit when they're smoothed. :)

I hope I can find a way to completely turn off anti-aliasing in Mac OS X. I'm planning to use ProFont for editing codes, but anti-aliasing blurs the difference between 0 and O; 1, I and l, and other similar-looking characters.

/me googles for solutions

Friday, December 14, 2007

Christmas party

Genuine laughter, genuine fun; these are the moments when working here have its meaning...

Thursday, December 13, 2007

thoughts

To resign or not to resign? Hmmm... I sometimes feel stupid for holding on to a dream that may not come true. I wanted to work in a startup because I thought that working here would let me innovate and program with passion without all those bureaucratic stuff that plague large companies. Never mind the low salary. Never mind the long working hours without adequate OT compensation.

Oh well, I'll see how it goes. I'll keep my options open while staying loyal to my current company. Working for another company that would give me twice my present salary is quite tempting.

Cisco opens up too

Good job, Cisco. This is a step in the right direction. Like Juniper, you are wise in opening up your network appliances to third-party developers. If only management in our company would wake up too...

Wednesday, December 12, 2007

Mac OS X mouse acceleration curve

Aaaargh... Mac OS X' mouse acceleration curve is getting on my nerves. I am unable to have precise mouse control for playing DOTA (i.e., without getting myself killed) because the pointer movement is just too unpredictable. Every second in this game counts, and I don't want the mouse getting on my way. If Windows did something right, its superior mouse feel would be it. Aaaargh... !$$^@#&*(!! Lina Inverse at level 10 killed my Faceless Void that was at level 11. #$%238(&387!!!

Tuesday, December 11, 2007

API/SDK for network appliances

I feel so sad that my vision for creating an API/SDK for our network appliances has been implemented by our competitor. I have been proposing this for more than a year now, going as far as to create a draft architecture for our network appliances-- but it fell on deaf ears. Juniper has implemented it on their products, and I honestly envy them because I know that this will make them sell like pancakes to big corporations. I wish them the best of luck.

Friday, October 26, 2007

I want an OpenMoko

Waaah... I want an OpenMoko phone. My ancient iPAQ H5550 is too limited-- it can't even send SMS messages.

MacBook or OpenMoko... MacBook or OpenMoko... Choices, choices. I can't buy both. =(

Tuesday, October 23, 2007

How can I enable WPA on an Atmel AT76C503 USB 802.11b device?

I have set up an OpenEmbedded build environment on my Linux box, and it is now steadily humming as it cross-compiles Angstrom. I am trying my luck on WPA by building the whole thing myself. I'm willing to use unstable sources if I have too.

The day I wiped out Windows Mobile was the day I said hello to freedom. It was also the day I said goodbye to things that work out of the box. Yet this is fun, and it forces me to learn new things that will come in handy in the future.

Anyway, if you know how to enable WPA on an Atmel AT76C503 USB 802.11b device, can you please leave a note? I'm using an iPAQ H5550. I suspect that I need to modify the driver myself, but I don't know how. Help. =)

GPE is beautiful

w00t! GPE Screenshots:


Monday, October 22, 2007

Hello GPE

GPE looks more refined than Opie. I'm still having trouble setting up WiFi with WPA-PSK though. I'll post screenshots later.

Opie Screenshots

Here are some Opie screenshots before I wipe it out from my iPAQ. I'll be replacing it later with GPE.



Wtf. I think my SD card is worm-infected (i.e., the recycled directory is not supposed to be there).

Sunday, October 21, 2007

Hidden Costs in License

Blah. Opie uses Qt, so I think it has some hidden costs when developing commercial applications on it. Bad platform for learning my first embedded apps. I might get stuck on it later on. I'll try Opie for a week or so, and replace it with GPE later on.

New Environment

Open Palmtop Integrated Environment (Opie) generally works OK, although it still has some rough edges. Crappy handwriting recognition system, lack of simple GUI to configure the system (although I'm happy that it has a console), and other stuff. This will not yet attract the average user in its current state, but this may improve in a year or so. I hope this gets sponsored by a commercial entity, similar to Ubuntu being sponsored by Canonical.

My ancient iPAQ is not GSM and GPRS-capable. I hope I can save enough money to buy OpenMoko. Bounty projects on that platform, anyone? =)

iPAQ touchscreen out of whack

The touchscreen is out of whack. Waaaah... How can I recalibrate this thing?

Hello Familiar Linux!

w00t! It works!
root@h3900:/# uname -a
Linux h3900 2.4.19-rmk6-pxa1-hh41.1 #1 Tue Aug 15 05:10:33 CEST 2006 armv5tel unknown

Familiar Linux

I foresee that embedded programming would play a large part in my future. Web application development will no longer pay as much as it used too, because scripting is too easy. I was already coding in PHP while I was still in highschool, when that language was not yet in vogue. Now that it is being offered in some schools, I need to learn something else. I need to start early so that I will be ready when the time comes.

I'm now installing Familiar Linux on my iPAQ in preparation for my experiments. It's now being reflashed as I type this blog. I'm crossing my fingers. I hope my iPAQ won't end up as a very expensive paperweight. =)

Logging in to Unactivated Windows XP

I was looking for a way to log in to an unactivated Windows XP so that I could back up some files and load a few applications before I completely erase it from my partition.

I found this tip very helpful: http://tomorrowtimes.blogspot.com/2006/12/how-to-login-to-expired-windows.html.

It works.

Wednesday, October 17, 2007

Display IPv6 routes in Ubuntu

Unlike FreeBSD, Ubuntu doesn't show the IPv6 routes when netstat -rn is invoked. To display the routes, just do ip -6 route show dev <interface> or route -A inet6.

Saturday, October 13, 2007

KDE in Ubuntu

I've just installed KDE on my Ubuntu box. It's been a long time since I've last used KDE. I want to try it to see how things have improved over the years.

Installation via Synaptic was very simple. KDE is now running on my left box, and the UI looks impressive at first glance. One problem though: the menu is a mess. The programs are packed into big sub-menus, and it's very annoying to sift through the labels just to find what I need. The problem is aggravated by the fact that Gnome apps are mixed with KDE apps in the menu. Where the bleep is the KDE Control Center? How the frack will I change the screen resolution without directly modifying xorg.conf? I don't need all of these programs in the menu. I just need to change the screen resolution and customize my box via Control Center. Aaaaaaaargh... KDE has become bloated.

Monday, October 08, 2007

pfSense HTTPS fixed

OK, I found the problem. The fix is very simple:
$SERVER["socket"] == "0.0.0.0:443" {
ssl.engine = "enable"
ssl.pemfile = "/var/etc/cert.pem"
}

I'll commit this change soon.

fixing pfSense' HTTPS support

lighttpd seems to have an issue when enabling both IPv4 and IPv6. With plain HTTP, enabling them both is a simple matter of adding the following lines:
server.use-ipv6            = "enable"
$SERVER["socket"] == "0.0.0.0:80" { }

With HTTPS, however, $SERVER["socket"] == "0.0.0.0:443" doesn't seem to work. Although sockstat reports that lighttpd is indeed listening to port 443, https://<ip_address> doesn't work. http://<ip_address>:443 work, but this is just plain HTTP served on port 443. Weird. the following is sockstat's output:
root     lighttpd   53320 4  tcp6   *:443           *:*
root lighttpd 53320 5 tcp4 *:443 *:*

Sunday, October 07, 2007

Hello DragonFly!


,--, | ,--,
| `-, ,^, ,-' |
`, `-, (/ \) ,-` ,-'
`-, `-,/ \,-` ,-`
`------( )------'
,----------( )-----------,
| _,-( )-,_ |
`-,__,-` \ / `-,__,-'
| |
| |
| |
| |
| |
| |
`|'

simoncpu@dragonsentinel:~> uname -a
DragonFly dragonsentinel.experiments.simoncpu.com 1.10.1-RELEASE DragonFly 1.10.1-RELEASE #0: Mon Aug 20 17:42:05 PDT 2007 root@:/usr/obj/usr/src/sys/GENERIC i386

I've successfully installed DragonFly on Soekris net4801. Installation was very simple.

Configuring the box is not much different from FreeBSD. The only problem that I've encountered is that DragonFly stops and asks me where /boot/loader is, if I specify -Dh at /boot.config. Weird. The boot menu doesn't even show up in the serial console. Everything works fine if I just specify -h.

Thursday, October 04, 2007

xmms-wma on Ubuntu

To play Windows Media Audio (WMA) files on XMMS, just do the following steps:
  1. Open Synaptic Package Manager.
  2. Install xmms-dev.
  3. Download xmms-wmma plugin from <http://mcmcc.bat.ru/xmms-wma/>.
  4. Extract the package.
  5. In the current directory of your extracted files, do make install.
Rock on!

Tuesday, October 02, 2007

buffer overflow

Aaaaargh! I'm getting too many interrupt-level buffer overflows with FreeBSD 7.0-CURRENT. I can't connect to the network. Yeah, yeah. I know that using the bleeding-edge development branch is tantamount to suicide. But what the heck.

Monday, October 01, 2007

Should I experiment on using DragonFlyBSD?

My Soekris net4801 box, which acts as my Ethernet switch by bridging all of its ports, is experiencing intermittent slowdown, especially under heavy load. This has occurred after replacing its OS from FreeBSD 6.2 to FreeBSD 7.0-CURRENT, March snapshot. I think it's because it had some critical bugs last March (I was too lazy to download a September snapshot) and because WITNESS, INVARIANTS, and other debugging options have been enabled in the kernel. Instead of rebuilding the kernel, I'm thinking of using DragonFlyBSD instead. I want to experiment. I'll do this on Saturday so as not to interfere with my work.

Friday, September 28, 2007

xmms-shn on Ubuntu

To play Shorten (SHN) files on XMMS, just do the following steps:
  1. Open Synaptic Package Manager.
  2. Install xmms-dev.
  3. Download xmms-shn plugin from <http://www.etree.org/shnutils/xmms-shn/>.
  4. Extract the package.
  5. In the current directory of your extracted files, do ./configure, make, and make install.
Yeah, yeah. My instructions are not very precise. It should give you sufficient idea though. Just post a comment if any of the steps are unclear.

Rock on!

Saturday, September 08, 2007

women on unix

simoncpu@localhost:~$ man woman
No manual entry for woman

simoncpu@localhost:~$ finger woman
finger: woman: no such user

simoncpu@localhost:~$ fsck woman
fsck: cannot open `/dev/woman': No such file or directory

Thursday, August 16, 2007

w00t GPRS!!!

Hello world! I'm scriblling this entry using my iPAQ that is connected to my cellphone via Bluetooth.

I'll post the details later on how I made my ancient iPAQ H5550 GPRS-capable. w00t! :)

Virtualization Killer App

Citrix is acquiring XenSource (http://www.eweek.com/article2/0,1895,2171251,00.asp). Very cool.

As grid computing becomes reality and as processing power, memory, and bandwidth become utilities just like water and electricity, I see that the future lies in virtualization technologies + remote X sessions and/or VNC.

I see that the future in creating an online and pervasive workspace lies on running multiple operating systems and offering it as a service. Each user can have his own virtual machine, and each user can pay the provider based on his memory and processing requirements for each session.

This will be the killer app once the infrastructure is in place.

Wednesday, August 15, 2007

Sorry, but we are interrupting your GRPS session because of insufficient balance. Pls. reload your account and try again. You have not been charged for this download attempt.


There you go. I feel so suddenly enlightened.

SMART 3G

SMART 3G is so sloooooooooooooooooooooooooooooow... I can't browse external WAP sites!!!

Or is it because my prepaid load has already ran out? Oopsy.

Sunday, August 12, 2007

New Title

I should replace my blog's title.

Initially, my plan was simply to chronicle my learnings with the FreeBSD Operating System. I was planning to make this similar to The FreeBSD Diary, hence my original title of "A Neophyte's Journey to FreeBSD".

Blah blah blah. Shit. It's 5:42PM already. I have to stop writing this entry. I'm late for church. =)

Friday, August 10, 2007

pfSense IPv6

Basic IPv6 support in pfSense is almost ready now. Although I expect that this still has some bugs, IPv6 support is already usable.

This is only available in the HEAD branch as of this moment. I may merge it to RELENG_1 as soon as it is deemed stable. You may download the daily snapshot at http://snapshots.pfsense.org/FreeBSD6/head/iso/.

Wednesday, August 08, 2007

I'm setting up a pfSense CVS mirror right now, and I'm using nginx server for the CVS Web interface. nginx server is kindda weird-- everything has to done manually, even for setting up a Perl process that will bind to a Unix socket in order to run Perl scripts.

Here's the URL for my mirror:
http://www.simoncpu.com/freedom/pfSense/CVS/cvsweb.cgi

Please note that not everything will work, as this is still highly experimental.

Tuesday, July 24, 2007

pfSense

Okidoki... I'm now officially a pfSense committer. I've always wanted to give back to the Open Source community ever since I was a kid. I'm so happy that this time has come.

What is pfSense, by the way? pfSense is "[an] open source firewall derived from the m0n0wall operating system platform with radically different goals such as using OpenBSD's ported Packet Filter, FreeBSD 6.1 ALTQ (HFSC) for excellent packet queueing and finally an integrated package management system for extending the environment with new features."

w00t!

Sunday, July 22, 2007

CVS commit bit to pfSense

Yey, I'm about to have a CVS commit bit to pfSense. I'll be contributing IPv6 support to the community. w00t! =)

Monday, February 12, 2007

ATI Radeon drivers

Blah blah blah. The ATI Radeon driver for my video card doesn't work with a simple emerge. I may have to compile the kernel again. Blah blah blah. I'll just use VESA for now. Blah blah blah. It's slow but it works.

Friday, February 09, 2007

ping!!! I'm alive goddamit

My fucking via-rhine NIC now works using this fucking vanilla Linux kernel. I can now proceed installing xorg, fluxbox, and other stuff. Weeeeeeeeeeeeeeee...

Linux via-rhine support

Not again. I thought they've fixed this stuff already. Linux doesn't support my VIA Rhine NIC, even though I've disabled ACPI already. The other Intel NIC works perfectly fine though.

Lemme recompile the kernel using vanilla-sources. This better work. :)

Tuesday, February 06, 2007

meh

With all this hoopla about K/Ubuntu, one would think that this is a revolutionary distro of some sort, sent by the messiah.

Meh. I'm gonna replace my other PC with Gentoo. :)

Monday, February 05, 2007

I hope I can resume my Xen experiments

My experiments on Xen was stopped a few months ago since the amd64 machine that I was working on was needed by the company.

Fortunately, I now have two CPUs sitting at my desk right now. I'll be installing Kubuntu on the other CPU so that I can use it for "official" work. I've been using it as a prototype box for our network appliance, but I figured that I can maxmize its use by using VMWare instead (hence the decision to use Kubuntu, even though NetBSD already has a stable Xen support; VMWare doesn't have a native port for BSD). Since the prototype will now be running inside VMWare, I can now use Xen kernel for the host OS. Weeeee...