Wednesday, November 26, 2008

Updated Wizardpen Driver (0.7.0-alpha1? :p)

Out of the blue I received an updated source file in my mailbox for the Linux Wizardpen driver from a very nice guy called Mike. The driver itself addresses a significant amount of improvements including optimization for performance, which I was completely astonished and blown away by it as I previously have to deal with sluggishness when painting in a maximized GIMP window.

You can download it from the link below:

(*Note: Yeah, I'm being a stupid dumbass for plugging a version number myself... but I suppose the improvement warrants a major number increment ;)

List of features: (*Note: UNTESTED means I was never able to test it myself, please feedback if you had problems with it)

  • Major performance and reliability improvements
  • (UNTESTED) Support for bundled scroll-wheel mouse (I know a lot of people wanted this, hence bolded ;)
  • Pressure sensitivity now configurable (Xorg param: TopZ and BottomZ; range: 0-1024)
  • Reliable button press/release event mechanism (using pressure thresholds)
  • (UNTESTED)Support vertical tablet orientation (useful if are using stacked dual monitors and want the tablet layout to the vertical orientation) (Xorg param: Rotate90 - "0" or "1"
  • [UNTESTED] Ability to tell driver your screen size in case gets confused (xorg param: ScreenX and ScreenY)
  • Debug mode (Xorg parm: debugyn - "0" or "1")

Do have to iterate the fact that Mike should be credited fully for his work and I'm just disseminating this piece of good code :).

Have fun experimenting and post any bugs or issues found!

P/S: The installation steps are already outlined here

(*NOTE: My webhost is acting stupid again, so have to exploit the resources of the "empire" from now :p)

Friday, November 07, 2008

Winamp: It's 1999 all over again!

I have a confession to make: Firewire on Linux sucks! >_<

Despite liking Linux and open source software in general, the only thing that irks me is Firewire/IEEE1394 support: which they never seem to get along with each other at one time or the other, like dysfunctional couples. Or probably it's just the Draconic Apple Empire which decided to screw their firmware so to vow to cause inferno to Linux users (but damn I worship their idol: the iPod).

OK, probably that's a bad joke :p.

Either way, what I used to be able to do it in Hardy (8.04) is to manage my iPod library. What I'm unable to do now with Interpid (8.10) is exactly that: Interpid refuses to mount my humble 3rd-generation iPod. Apparently it is reported that it can be "fixed" by recompiling the kernel without EFI support, but that's something that I'm not willing to do at the moment (mainly due to laziness - I know how long the process would take, coming from a Gentoo background).

So at the moment, it's back to Windows again and having tried out quite a number of players that wasn't iTunes, I find myself using WinAmp. It's sort of a surprise to me and it felt as if I'm back to 1999 (which at that time WinAmp *is* THE player). The few things I liked: support direct drag-and-drop from Explorer to my iPod, read my tags properly and does automatic transcoding (jackpot!). What I don't like about other players: Crashes on me on first run (read: Floola and Froddle Pod), chokes and bloats itself with memory leaks (Songbird), forces me to use a non-intuitive library feature (MediaMonkey) and sluggish UI experience (YamiPod).

Until I can get Intrepid to talk to my iPod and happily reuse gtkpod, guess I'm happy to stick with WinAmp for quite sometime.

And it feels good to feel like you are 17 again :lol:.

Sunday, November 02, 2008

No more shitty Chinese/Japanese display font

This is sort of a follow up to my previous blog post on fontconfig, and also part of my efforts in making the EeePC a simple-to-use and pretty (in my own view) PC.

With such a small screen and fonts, complicated Chinese characters will be rendered as unintelligible white space with black dots when using Sung/Ming fonts (宋体,明体). In this case, Gothic/Hei fonts (serif equivalent to East Asian font) are very readable as it is capable to be rendered even with small font sizes. In this case, WenQuanYi's Zen Hei is the best open source Gothic/HeiTi font (and I even highlighted it in one of my post).

For this setup, I make it more simplistic: Copy a good template which specifies preferred Latin fonts (e.g. /etc/fonts/conf.d/60-latin.conf in Debian) to ~/.fonts.conf. Once that's in place: paste <family>WenQuanYi Zen Hei</family> in each <prefer> section.

Once that's in place, execute `fc-cache -fv` and restart your applications, and TADA! browsing Chinese sites on Firefox has never been more enjoyable with unified and readable text :D.

Saturday, November 01, 2008

EeePC Wireless Toggle Fn+F2 - Quick Troubleshooting Note

Just installed Debian Lenny to my EeePC 701, after screwing my eeeXubuntu over.

One of the most common Linux gripes about EeePC is the wireless chipset it's using (probably Asus should choose a more compatible from the start ^^||).

Have been spending the whole day trying to get the wifi toggle to work, finally I got it to work. Checklist being as follows:

  1. Check whether ath5k is blacklisted or not
  2. Check whether "options pciehp pciehp_force=1" was set properly
  3. Ensuring pciehp was loaded (best way is to add it to /etc/modules)

With the latest custom, EeePC Lenny installer, item 1 and 2 has been addressed (but no harm double confirming it). So should it not work, try to perform Item 3 and see whether that works for you before you ask the mailing list ;).

Thursday, October 23, 2008

Genius Wizardpen with Intrepid Ibex

NOTE

The tutorial currently still works with Ubuntu 9.04 (Jaunty Jackalope)

NEWS UPDATE

An updated (though not thoroughly tested) driver is available thanks to Mike! Please find full details by clicking on this link.

UPDATE HISTORY:

21 October 2008

Obtaining the driver
Option 1: Using a precompiled driver - UNTESTED!!

Miriad have provided a precompiled driver for Hardy and can be obtained from http://specificcrap.arbitrarycrap.com/wizardpen_drv.so. Just download the driver and put it in /usr/lib/xorg/modules/input/.

Once that's done, follow the steps outlined in "Configuring and using your Wizardpen".

For the latest version (0.7.0-alpha2): Alternatively, you could use the Debian package done by Giorgo Enrico, which you can download it here http://www.mediafire.com/file/nyzyynygiyy/wizardpen_0.7.0-alpha2_i386.deb

Option 2: Building from source
  1. Download the source package: http://specificcrap.arbitrarycrap.com/wizardpen-0.6.0.2.tar.gz
    (or the latest, untested driver here:
  2. Unpack it somewhere with following command: tar -zxvf wizardpen-0.6.0.2.tar.gz
  3. Grab the necessary packages:sudo aptitude install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev
  4. Change directory to where you unpacked the source code: cd wizardpen-0.6.0.2
  5. Compile and install the driver: ./configure --with-xorg-module-dir=/usr/lib/xorg/modules && make && sudo make install
  6. Verify that the driver is installed correctly (Check for wizardpen_drv.la and wizardpen_drv.so): ls /usr/lib/xorg/modules/input/wizardpen_drv.*
Configuring and using your Wizardpen

For Xorg7.3, the recommended way to configure your input device is by adding HAL fdi files, which in turn allows you to hotplug your Wizardpen. This step is not only recommended, it's essentially CRUCIAL in the case of Intrepid Ibex as the xorg.conf method used in my Hardy tutorial WILL NOT WORK.

This new configuration method may be supported by Hardy Heron, but I greatly appreciate anyone who is able to confirm this to me :).

  1. Connect your Wizardpen tablet (if you haven't already done so)
  2. Find out the name of your tablet : grep -i name /proc/bus/input/devices
  3. Double confirm that HAL captured the name of the tablet correctly as well: lshal | less
  4. Create a new file with the name /etc/hal/fdi/policy/99-x11-wizardpen.fdi
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <deviceinfo version="0.2">
    <device>
    <!-- This MUST match with the name of your tablet -->
    <match key="info.product" contains="NAME OF YOUR TABLE OBTAINED FROM PREVIOUS STEP">
    <merge key="input.x11_driver" type="string">wizardpen</merge>
    <merge key="input.x11_options.SendCoreEvents" type="string">true</merge>
    <merge key="input.x11_options.TopX" type="string">5619</merge>
    <merge key="input.x11_options.TopY" type="string">6554</merge>
    <merge key="input.x11_options.BottomX" type="string">29405</merge>
    <merge key="input.x11_options.BottomY" type="string">29671</merge>
    <merge key="input.x11_options.MaxX" type="string">29405</merge>
    <merge key="input.x11_options.MaxY" type="string">29671</merge>
    </match>
    </device>
    </deviceinfo>
  5. Reboot your computer (*Note: Thanks to Ociosu for the update)
  6. If X fails to start up, or that the cursor runs amok with unpredictable and unacceptable behaviour (e.g. button mapping screw-ups), I greatly recommend that you start to debug your configuration.

TROUBLESHOOTING - IMPORTANT STEPS:

Should you find your Wizardpen not working yet, check out the /var/log/Xorg.0.log to see what went wrong (Search for "EE" and "WW" would give you some important hint). Google and the UbuntuForums are always your friend when it come to troubleshooting things ;).

Calibrating your tablet
  1. Execute the following command: lshal | less
  2. Search the section with the name of your tablet, as obtained from Step 2 in the configuration step. The line should read something like: info.product = '[Name of your tablet]'
  3. Scroll down until you find the following line: linux.device_file = '/dev/input/eventN' (N will a number)
  4. The source package contains a program called 'wizardpen-calibrate', which is in the 'calibrate' folder, which actually echoes the appropriate X11 calibration settings
  5. Using a terminal/console, execute the calibration program: calibrate/wizardpen-calibrate /dev/input/eventN (*Note: Subtitute /dev/input/eventN with the one obtained from Step 3)
  6. Follow the instructions issued by the program, which will ask you to touch the top-left corner and bottom-right corner. Once completed, the program will echo the corresponding xorg.conf setting
  7. Edit the FDI file (/etc/hal/fdi/policy/99-x11-wizardpen.fdi) and subtitute the Top/Bottom/MaxX and Top/Bottom/MaxY values to the one obtained from the wizardpen-calibrate command
  8. Once done, restart your computer and test your tablet (UPDATE: Noy noted in the comments that you don't have to restart, but rather unplug and replug the tablet for the new settings to take effect. I'm pretty sure it'd work but I haven't tested it yet)

Till then, good luck and have fun!

FAQ - Draft, TODO
  1. Wireless mouse for Wizardpen support is only available in the latest wizardpen-0.7.0-* driver.
  2. Pressure sensitivity not working in GIMP: Check your GIMP preferences at "Edit > Preferences". Under the "Input Devices" menu item, click on "Configure Extended Input Devices...". Choose the WizardPen device and MAKE SURE YOU SET THE MODE TO SCREEN/WINDOW (not "Disabled"). Without that setting, it won't work ;)

[REFERENCE AND RESOURCES]

  1. TabletSetupWizardpen (Ubuntu Community Help)
  2. HOWTO: Setup a wizardpen-based tablet (Ubuntu Forums)
NOTES:
  • Thanks to Pedro for his unexpected email and helping me out to test out my HAL fdi policy file.
  • TODO: Add stuff to the FAQ (Contribution appreciated)
  • Wishlist:
    1. Someone helping me out to test whether the HAL fdi rule method works with Hardy Heron
    2. Have the tutorial posted in Ubuntu Community wiki (too lazy to bother doing it myself :lol)

Tuesday, June 24, 2008

PC vs Mac: Breaking Advert Placing Barriers

I'm always amused when Apple comes up with their quirky "PC and Mac" video advertisements. And apparently their creative team seem to know how to utilize traditional online advertisement place holders in a creative way.

As you can see from the image on top, they utilize TWO advertisement spaces: the top banner and side panel ad space and orchestrate a situation in which PC touts their own "PC Newwire" which pipes through the coolest PC news. And instead of what he hoped for, what we see are news of Vista bashing and people downgrading to XP and an agitated PC. And then we'll get to see a Mac after the punchline is delivered.

What I really liked about the ad is how Apple's advertising team are willing to experiment and think outside the box. In fact I didn't really get the joke until I notice they used two online advertisement space. Typically my eyes were "trained" to "overlook" those typical (yet effective) ad placement areas. So in effect it really got me curious and trying to play that ad video again and again until I found out their creative trick.

Apple may have paid the cost of having two ad impressions and this unusual "two ads working as one" act may not work that effectively. But I had to say that this concept is very impressive and I would applaud them for being creative :).

(*Note: This ad is not sponsored by Apple in any way, and I didn't intend to publicize what blog that sports the ad :p)

Tuesday, May 20, 2008

Comment Moderation :: OFF

Having recently receiving quite a number of comments when I disconnected from the web (mainly on the Wizardpen post) and the nature of comments received were genuine, I have switched off comment moderation for this blog. However, I do expect readers to have a Google account (i.e. no anonymous commenting... at least it'd be only *slightly* helpful to prevent spam comments ;) ).

Till then, enjoy reading!

Wednesday, April 16, 2008

Hello world, Nokia

That goes without saying ;)

Don't underestimate this simplistic program though, getting it compiled is hard enough without official Linux support from Nokia and there's no concrete and definite community documentation that outlines how to use the Nokia SDKs in Linux (after Nokia dropping the Concept SDK for Linux, that is). It took me quite a lot of obscure googling to get that working.

I'm still working out a simpler way to get this done instead of a very hack-ish bash script that I assembled just now. From the steps that was needed, I'm pretty sure that I could do somthing about having it to work with EclipseME (hopefully I'm right at the fact that it'd only involve modify some files that Nokia supplied in their SDKs ;) ).

Will post a follow-up on my progress while I tinker with it.

Sunday, April 13, 2008

Swinging Preferences

Having more time for myself, I'm back into the continuous effort in tuning my Ubuntu installation to match my usage preferences and making it more pleasant and efficient to use.

Two of the most interesting switches in my own preferred software: namely favouring Quod Libet over Rhythmbox; Emenese over Pidgin (previously GAIM). What's more interesting that both Quod Libet and Emesene were written in Python and were fairly new players in the open source universe.

Now, as we know it, the beauty of software in general is all about choice: there's a lot of different implementations of any application domain and users are free to choose any alternatives that were available to them. However, what kept me thinking is that: what had me making the switch from more established open source projects (Rhythmbox and Pidgin) to newer projects instead.

To think about it, Rhythmbox and Pidgin have served me very well indeed to a point I didn't see the need to change: afterall, it does what I wanted and probably more. But then came Quod Libet and Emenese that not only does everything plus the "killer feature" that I wanted badly:

  • Quod Libet: The "Random by album" plugin (Implemented as a plug-in)
  • Emesene: MSN personal message feature

Now, looking at the two features above, it's not hard to notice that these two features were never "essential" features; but rather, they were "highly desired" non-critical features. Granted, both of these software doesn't do everything their similar counterparts does, but the thing is that they position themselves as a promising alternative by not only providing all the essential features while being stable but also being able to adapt to more "minor" but "highly desirable" features.

So really that begs the question: how high such small but highly desirable features be in terms of development priority? On one hand, you need these new features to be in to attract a larger user base (especially if the feature is perceived to be important to a large number of users); on another hand, the feature may as well be a fad that lasts for a short term and devoting too much time with such "features" spells disaster for any projects. I suppose in the end, it's important to have an extensible infrastructure (the plug-in infrastructure?) and a means for users to install and uses these features in a prompt and user-friendly manner (either by bundling them with the main package like Quod Libet, or provide an easy way to obtain them like Firefox).

Saturday, April 12, 2008

Sync'ing Nokia 3500 classic with Ubuntu

It's been about a month or two since I got my Nokia 3500 classic and have had whined a lot about Symbian S40 with it:

  1. Unable to do full phonebook backups on the phone itself
  2. Unable to restore a vCard File (.vcf) that contains multiple phonebook entries on the same file, which is considered a common means of doing backup (at least I'm aware that Sony Ericsson and LG phones does that)

But at least it supports SyncML, which provides a platform-independent means of information synchronization. So with some effort, I got OpenSync and MultiSync setup to have Evolution and my mobile phone to sync with each other. At the moment I'd say that using these tools made me feel like such information sync'ing architecture is still quite in its infancy stage: mainly due to a lack of user-friendly graphical frontends and seamless integration with the desktop environment. Which is quite a pity really, especially the rise of handheld devices, I'm currently looking forward to more development with such a capability.

But anyways, for those needing a working syncml-obex-client configuration for the Nokia 3500 classic (via Bluetooth), here's the configuration that I'm using at the moment:

<?xml version="1.0"?>
<config>
<!-- (Only for bluetooth) The bluetooth address if the bluetooth mode is selected -->
<bluetooth_address>[The Bluetooth address for your Nokia phone]</bluetooth_address>

<!-- (Only for bluetooth) The bluetooth channel to use. `sdptool browse $MAC` to search for the correct channel -->
<bluetooth_channel>11</bluetooth_channel>

<!-- (Only for USB) The usb interface number of the SYNCML-SYNC target. use syncml-obex-client -u (you will need access to the USB raw device) to find it. -->
<interface>0</interface>

<!-- The string that the plugin will use to identify itself. Some devices need a special string here. -->
<identifier>PC Suite Data Sync</identifier>

<!-- The syncml version to use: 0 for 1.0, 1 for 1.1 and 2 for 1.2 -->
<version>1</version>

<!-- if the plugin should use wbxml -->
<wbxml>1</wbxml>

<!-- The username to use. Leave empty to not require a username -->
<username></username>

<!-- the password for the username -->
<password></password>

<!-- sets the connection type to use. 5 means obex over usb, 2 means obex over bluetooth -->
<type>2</type>

<!-- If wbxml is enabled, defines wether the wbxml should use string tables -->
<usestringtable>1</usestringtable>

<!-- Never send ADD command, but send REPLACE (not needed normally) -->
<onlyreplace>0</onlyreplace>

<!-- Workaround around for mobile phones which only use local timestamps and _no_ UTC timestamps! -->
<onlyLocaltime>0</onlyLocaltime>

<!-- Sets the maximum allowed size in bytes of incoming messages (some device need this option set). Example: 10000 -->
<recvLimit>10000</recvLimit>

<maxObjSize>0</maxObjSize>

<!-- The name of the contacts db. Must be the same as the phones sends -->
<contact_db>Contacts</contact_db>

<!-- The name of the calendar db. Must be the same as the phones sends -->
<calendar_db>Calendar</calendar_db>

<!-- The name of the note db. Must be the same as the phones sends -->
<note_db>Notes</note_db>
</config>

Genius Wizardpen with Ubuntu Linux (8.04 only)

NOTE
  • AN UPDATED TUTORIAL FOR INTREPID IBEX IS AVAILABLE! Need someone to check whether that tutorial is compatible with Hardy Heron
  • [Compatible with Hardy Heron (8.04) ONLY]
  • [TODO]
    • Add a FAQ section (especially the fact that only realized that recently the original forum was down x_x...) -- main proof that I have been neglecting this blog and WizardPen progress these days
    • Any update if necessary

UPDATE HISTORY:

21 October 2008

  • Verified that steps are compatible with Intrepid Ibex (using compile by source method),
  • Added draft FAQ [Big TODO item, help needed]

27 May 2008

  • Added a troubleshooting step in the setting up section which recommends you to regenerate a fresh xorg.conf

27 April 2008

  • Updated link to download the driver source (Contributor: zack)
  • Included instruction on how to using precompiled driver
  • Modified xorg.conf on where to put the "CorePointer" option

As Ubuntu 8.04 (Hardy Heron) was released end of April 2008, one of the major change is XOrg 7.3, which sports hot-plugging, auto-configuration, better support of multiple input device and other powerful features. However, with those features in place, the existing Genius Wizardpen driver was not compatible with the latest XOrg.

Currently, Miriad (whom participated in the original Wizardpen driver forums) have updated the driver to make it compatible with XOrg 7.3 (rejoice!). Here are the instructions to configuring your Wizardpen:

Obtaining the driver
Option 1: Using a precompiled driver (Recommended)

Miriad have provided a precompiled driver for Hardy and can be obtained from http://specificcrap.arbitrarycrap.com/wizardpen_drv.so. Just download the driver and put it in /usr/lib/xorg/modules/input/.

Option 2: Building from source

(*Note: I haven't tested this with completely fresh Hardy system though ^^||)

  1. Download the source package: http://specificcrap.arbitrarycrap.com/wizardpen-0.6.0.2.tar.gz
  2. Unpack it somewhere with following command: tar -zxvf wizardpen-0.6.0.2.tar.gz
  3. Grab the necessary packages (UNCONFIRMED! Let me know if I missed out an important package): sudo aptitude install xutils libx11-dev libxext-dev x-dev build-essential xautomation xinput xserver-xorg-dev
  4. Change directory to where you unpacked the source code: cd wizardpen-0.6.0.2
  5. Compile and install the driver: sudo ./configure --with-xorg-module-dir=/usr/lib/xorg/modules && make && make install
  6. Verify that the driver is installed correctly (Check for wizardpen.la and wizardpen.so): ls /usr/lib/xorg/modules/input/wizardpen.*
Configuring and using your Wizardpen
  1. Connect your Wizardpen tablet (if you haven't already done so)
  2. Find out the name of your tablet : cat /proc/bus/input/devices | grep Name
  3. Edit your /etc/X11/xorg.conf file and type the following (or to verify against your last working xorg.conf with the Wizardpen in Gutsy):
    Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "vmmouse"
    Option "Emulate3Buttons" "true"
    EndSection

    Section "InputDevice"
    Identifier "WizardPen Tablet"
    # Paste the name of the tablet as found in the previous step
    Option "Name" "UC-LOGIC Tablet WP5540U"
    Option "SendCoreEvents" "true"
    Driver "wizardpen"
    Option "TopX" "5619"
    Option "TopY" "6554"
    Option "BottomX" "29405"
    Option "BottomY" "29671"
    Option "MaxX" "29405"
    Option "MaxY" "29671"
    EndSection

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen "Default Screen"
    InputDevice "WizardPen Tablet" "SendCoreEvents"
    InputDevice "Configured Mouse" "CorePointer"
    EndSection
  4. Restart your X server: sudo /etc/init.d/gdm restart (*Note: It'd be better for you to logout, press Alt-F1 to go into the command prompt screen to execute this command)
  5. If X fails to start up, or that the cursor runs amok with unpredictable and unacceptable behaviour (e.g. button mapping screw-ups), I greatly recommend that you execute sudo dpkg-reconfigure xserver-xorg to regenerate a new working copy of xorg.conf and reattempt to configure the Wizardpen again (i.e. repeat Step 3-4 in this section). It may be helpful to read the IMPORTANT NOTE I had below.

IMPORTANT NOTE: The "SendCoreEvents" option is mandatory to prevent focus stealing between your mouse and Wizardpen, which would lead to a jerky pointer which is not what you'd want when you're drawing ;). It may be required to have your mouse being set with the "CorePointer" option (Reason I'm setting this option for the mouse is because without the actual mouse configured with "CorePointer" would give X11 an option to select the Wizardpen as the core [read: main] pointer and royally screw the button mapping of my mouse).

Should you find your Wizardpen not working yet, check out the /var/log/Xorg.0.log to see what went wrong (Search for "EE" and "WW" would give you some important hint). Google and the UbuntuForums are always your friend when it come to troubleshooting things ;).

Till then, good luck and have fun!

[FAQ - DRAFT]
  1. Wireless mouse for Wizardpen is not working: From my understanding is that support for the wireless mouse that comes with Wizardpen is NOT IMPLEMENTED yet. Therefore it won't work.
  2. Pressure sensitivity not working in GIMP: Check your GIMP preferences at "Edit > Preferences". Under the "Input Devices" menu item, click on "Configure Extended Input Devices...". Choose the WizardPen device and MAKE SURE YOU SET THE MODE TO SCREEN/WINDOW (not "Disabled"). Without that setting, it won't work ;)

[REFERENCE AND RESOURCES]

  1. WizardPen driver and XOrg 7.3
  2. TabletSetupWizardpen (Ubuntu Community Help)
  3. HOWTO: Setup a wizardpen-based tablet (Ubuntu Forums)

Wednesday, January 16, 2008

New Gadget! Asus Eee PC :D

Here's a new addition to my list of gadgets: say hello to my Asus Eee PC! :D

This ultraportable is definitely a god-send in my opinion, not only it's small, light-weight and most excitingly, it's really inexpensive! (with UMPCs carrying a much higher price tag) Despite being slightly underpowered, it's already powerful enough for most office applications, which makes it really suitable for myself to lug around should I be outstation for one reason or the other. Neat, huh? :)

Anyway, been spending two days of restless night to have pre-loaded Xandros Linux removed and have eeeXubuntu installed in its place: together with all the minor tweaks and package installation to make it a personalized power house.

Still not used to the extremely small keyboard with keys just the size of my own fingertips, so that makes it pretty unsuitable for tasks that require speed typing. But things like normal surfing and stuff was pretty usable. The small 7" screen is really something that needs to get used to as well, my eyes felt strained from time to time (mainly due to the LCD brightness though, 8pt fonts are still very readable in its current state).

Other than that, I'm looking forward on the possibilities this ultraportable will bring to my work and the computer market overall. With the critical success of the Eee PC, I'm pretty sure most manufacturers will really want to have their slice of the pie as well.

Do have to say a well job done to the Asus design team whom get it right during its first launch! :D (compared to the hyped tablet PC which no manufacturer seems to make it take off in any sense)