Since a few days I have a new netbook which will replace my old EeePC 4G. I again decided to buy a model from Asus' EeePC line. The Asus EeePC 1015PE costs around 350€ currently and comes with a 1.66Ghz Intel® Atom™ N450 CPU, 250GB HDD, 1GB RAM and a matte non-glare 10.1” display.
Asus sells these netbooks with various different cases. Eg. there are two black models: one with a shiny finish and one in matte black. I got the latter one1). Unfortunately, even though it's matte, you still see finger prints on it easily.
It weights 1253g including the battery (my old 4G brought 929g to the scale). The keyboard is quite nice except for the right shift key position which is as messed up as on all Asus netbooks.
Otherwise I'm very happy with it so far. I haven't really tested the battery runtime, which Asus claims to be up to 13 hours, but about 8 hours seem to be easily achievable. This is finally a laptop where I will no longer need to have an eye on the battery meter anymore. Perfect for long travels by train. The dualcore N450 CPU is more than enough power for what I do on a laptop. I might upgrade the RAM to the maximum of 2GB though.
I decided to try a netbook optimized distribution instead of my trusted Arch Linux on this machine and went with the Ubuntu Netbook Edition. I have to admit I'm really impressed by this distribution (I never used Ubuntu myself before). Everything worked out of the box, including WiFi and the camera.
Of course I still had to tweak a few things.
When I tried to configure the touchpad I noticed that not everything did work as I thought. The kernel had detected the touchpad as a simple Logitech PS/2 mouse. Googling a bit I found that I needed two things: a newer kernel and a parameter to be passed to the psmouse kernel module.
The new kernel can be installed without compiling it your self by following these instructions:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634_2.6.34-020634_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-headers-2.6.34-020634-generic_2.6.34-020634_i386.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-lucid/linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb sudo dpkg -i linux-headers-2.6.34-020634_2.6.34-020634_all.deb sudo dpkg -i linux-headers-2.6.34-020634-generic_2.6.34-020634_i386.deb sudo dpkg -i linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb
The option is passed to the module by creating a file /etc/modprobe.d/psmouse.conf with the following content:
options psmouse force_elantech=1
Now that the touchpad was correctly recognized, I noticed another problem. The Eee PC 1015 comes with a multitouch capable touchpad. This means you can execute different actions depending on the numbers of fingers you use. You can tap with two fingers to execute a right or middle click for example. Since there's a dedicated hardware button for left and right clicks, putting middle click on the two finger tap is the most sensible option there. Too bad that the Gnome developers thought otherwise and hardcoded two finger taps to right click
. This bug isn't fixed in Ubuntu either.
Luckily Yuri Khan provides a patched version of the Gnome Settings Daemon:
wget https://launchpad.net/~yurivkhan/+archive/ppa/+files/gnome-settings-daemon_2.30.0-0ubuntu7~ppa1~lucid1_i386.deb dpkg -i gnome-settings-daemon_2.30.0-0ubuntu7~ppa1~lucid1_i386.deb
After installing, login again and reconfigure the tap events accordingly in gconf:
gconftool --type int -s /desktop/gnome/peripherals/touchpad/tap_button_2 2 gconftool --type int -s /desktop/gnome/peripherals/touchpad/tap_button_3 3
Even though the 1015 has impressive battery life it's always worth to tune power saving settings a bit.
First I “unlocked” the main gnome panel by following the instructions at Community Documentation. Then I installed the “CPU Frequency Scaling Monitor” from the software center, to be able to easily switch the powersaving governor.
Next I decided to switch off bluetooth by default by issuing rfkill block bluetooth on bootup. This way it can be easily enabled through the Bluetooth Manager when needed.
I also installed and ran powertop. I put everything it suggested into /etc/rc.local. I'm not sure if it really helps anything but it doesn't seem to hurt either:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # disable Bluetooth by default /sbin/rfkill block bluetooth ## PowerTop suggestions: # Enable SATA ALPM link power management via: echo min_power > /sys/class/scsi_host/host0/link_power_management_policy # Enable HD audio powersave mode by executing the following command: echo 1 > /sys/module/snd_hda_intel/parameters/power_save # increase the VM dirty writeback time from 0.00 to 15 seconds with: echo 1500 > /proc/sys/vm/dirty_writeback_centisecs # Enable wireless power saving mode by executing the following command: /sbin/iwconfig wlan0 power timeout 500ms exit 0
Don't forget to set the correct permissions:
#> chmod 755 /etc/rc.local
I also modified my fstab and set the noatime options for my file systems and moved /tmp and /var/tmp to a tmpfs.
That's it so far. I really like this little machine and the Ubuntu system so far. If you have any Ubuntu or Netbooks tips I should look into, please let me know in the comments.
When I wrote about my oil paints a while ago, people demanded to see the actual paintings. So here they are.
See? Not as amazing as the paint box, right?
I've been to Barcamp Kiel last Weekend and had a great time. Catering and the coffee were excellent, the WiFi mostly worked and the people and spirits on this first Barcamp were great. Kudos to the organizers!
Below you can find short summaries of the sessions I attended.
The first session I attended was about the WAC Initiative. It promises a new way to code applications for different mobile devices using web technologies and also provides the distribution channel. It is driven by a lot of big telcos but so far hasn't much to show. They expect to be ready for show time in 2011. A long time for the mobile market. The guy who led the session was a developer himself, but when I asked what motivates him to root for WAC his only answer was the possible money to be made. A valid point but surely not the main driving factor for many (most?) developers.
Next was “Gimp by a Dummy”. This was an introductory session on using Gimp. I probably shared more than I learned here, but that's what Barcamps are about. At least I got an interesting idea about using a path library to add callouts to images.
Then my turn came and I held a session on DokuWiki. Because I hadn't prepared any talk I declared it a DokuWiki Workshop
. I did a live install of DokuWiki and showcased the basic features, then the audience took over by asking questions. This led to some talk about the internal file structure and available plugins and themes. I think it went very well. One of the listeners later told me “If I had known DokuWiki before, I wouldn't have installed MediaWiki”.
After that I got to see some sunshine. Some students from the Bonn university presented their mobile game Mister X which is an adaption of the Award winning Scotland Yard board game. We played in teams of two, with 5 teams being detectives trying to catch the Mister X team. The mobile phone displays a map of your surrounding as well as the current position of the detectives. Mister X's position is only shown every two minutes or so. There are also randomly positioned virtual items on the map which can be collected by walking into their proximity. Items then can be used to irritate the enemy. Eg. there are fog bombs or map rotation attacks. Needless to say that my team managed to catch Mr. X of course
.
Back at the venue I attended the Online Backups session. A topic that is on my todo list for quite a while. We talked about various problem with backups in general. The tool the session master recommended (besides his own commercial solution) was duplicity. I'll have a second look at that tool for sure.
The last session of the day was about “What's on in Kiel?”. I was surprised about the large amount of tech meetups in the area, but since I'm not from Kiel this wasn't too interesting to me.
The evening finished with a blogger's reading called Jour Fitz which was extremely funny. I especially enjoyed the texts by @judetta and @judetta. MC Winkel OTOH was somewhat disappointing. I had enjoyed his presentation at re:publica a lot, but his performance here wasn't really good. Maybe a bit of preparation would have been a good idea after all.
Saturday started with a git Introduction session. Since it was a beginner level session I didn't really learn much here, but a few best practices were exchanged.
The next session promised to explain Usability and User Centric Design. An interesting topic, but unfortunately this talk had too much introduction and not enough practical explanations for my taste.
Craving for some more technical content I went to the NoSQL session which was excellent. It gave a good introduction on how NoSQL databases work and what features of ACID databases are sacrificed. I also jotted down some things I want to learn more about: TAHOE, Merkle Trees and MongoDB.
Reputation Management was next. The talk was given by two people from New Communication Kiel who offer a software supported brand reputation monitoring for companies. I found that generally interesting, but wonder if outsourcing social media monitoring is a good idea because it doesn't allow for fast reactions. Or so I guessed. Discussions then circled around how others monitor their brands and react.
I then turned to more technical things again and I attended a session on node.js. The presenter gave an excellent introduction. Node.js looks really interesting and I'd love to do a project with it. I even started to download and compile node.js during the session.
The sessions in the last slot weren't that interesting and I decided to do some geocaching instead.
We finished the evening at a Sushi Place called SOHO Kitchen. The owner had offered at 20% rebate to Barcamp visitors earlier via Twitter. Web 2.0 in action
.
A while ago I wrote a DokuWiki plugin called Toolbox which adds a few simple features like sorting text and counting words to the editing toolbar. It works well, but being a Dokuwiki plugin it needs to be installed installed to be used. But I don't want to install the plugin everywhere when maybe only I need the functionality anyway.
Luckily there's a solution to add scripts to just any website. That solution is called GreaseMonkey:
Greasemonkey is a Firefox extension that allows you to customize the way webpages look and function.
Hundreds of scripts are already available for free. And if you're the tinkerer sort, you can also write your own.
Today, I spent some time to transfer my plugin into a Greasemonkey user script. Which wasn't too complicated once I got how to run user scripts in the page context (instead of the Greasemonkey sandbox). Then I spent some more time to make the script working in Chrome as well1).
The result is available at userscripts.org.
I'd like to have more functionality added in the toolbox. If you have ideas or even better code, please share with me.
PS: There also still might be some bugs. Please use the Issue Tracker when you encounter something weird.
I recently had the task to restructure a certain part of a wiki. What I needed was a quick overview on what pages and images are in that namespace and how they are linked currently. But there's no simple tool to do this.
Inspired by an old forum thread I first looked for a way to represent the link structure in a mindmap. But mindmaps are strictly hierarchical, but links in a wiki are not. The right term is probably bidirectional graph.
Well, the Unix standard tool to draw graphs is Graphviz and so I wrote a tool to gather the data I was interested in (pages and media files) and to create a graph description in the dot language. The result is pretty nice for relatively small namespaces:
However if I'd wanted to use that on a whole wiki, it wouldn't be very useful. I needed something more interactive. That's when I found Gephi.
Gephi is a pretty powerful tool which seems to be able to do all kinds of stuff with graphs. It uses its own XML based format called GEXF which I quickly implemented for my tool. Standard results look quite okay already:
Of course I had to run the graphing tool on the whole dokuwiki.org wiki. The resulting 1.6 MB XML looks quite impressive in Gephi and I'm sure there is a ton of valuable information hidden in that graph. But I'm not experienced enough in Gephi or data analysis in general to unveil it.
Download the file below, fire up Gephi and create some stunning visualizations, in depth analysises or whatever else you can find. Please share your creations with us in the comments.
BTW. the GEXF format allows to attach additional data to the nodes and I added file sizes and timestamps which could maybe used for visualization.
Older Posts are available in the Archive. Keep up to date with the RSS Feed.