Just figured out how to get Twitter update the pidgin status (e.g. GTalk, Jabber, ICQ, MSN, etc.). For that, you need to install a pidgin plug-in written in Perl. Here is a small howto about it (as the Perl stuff was a bit tricky):
Testing the wordpress application on the iPhone. It seems quite easy to post something. Apparently it works also on a self-hosted wordpress instance.
Just trying the Flock browser for posting a blog news. It’s great. It’s about like writing an e-mail, with a good blog integration, where you can define tags, categories and that kind of news-related things. Really cool. Much quicker than the web interface.
I published some time ago a news regarding reducing the power consumption of my home server to 53 W. There was some open issues like how to reduce the consumption further.
Regarding this, I finally simply decided to switch off the server automatically every night using a Cron job. This is an elegant solution, as I am not hosting anything on this home server, other than stuffs I am using at home. Everything else is on my dedicated server.
This solution has the following two advantages:
What I can still improve:
Will check this out.
Update: I actually activated wake-on-lan. This is really handy. I did a small script on my mac, which uses the utility ‘wakeonlan’ (installed through fink). That way I can confortably switch on the server remotely from my laptop when I need to. (The wake-on-lan option must be activated in the BIOS.)
The small script that I use (this will only work if the server is in the LAN):
#!/sw/bin/bash /sw/bin/wakeonlan [server mac address]
Something I wanted to do since ages. My wireless router WRT54GL running the Tomato firmware has a button on the front, which can be used to toggle WIFI on and off. The router has also a rather visible LED indicator, behind the button, that is unfortunately not used to show the WIFI status. (Originally, the wifi status is just shown by a tiny LED, that is just visible when watching closely the device).
It’s easy to fix that. Using the web interface, go to the ‘Administration’ > ‘Buttons / LED’ page. Replace the custom script by the following code:
# status: 1: wifi on, 0: wifi off
status=$(wl -a eth1 dump | grep associated | cut -d " " -f 2);
# toggle wifi & amber led
wl -a eth1 $([ $status -eq 0 ] && echo up || echo down)
led amber $([ $status -eq 0 ] && echo on || echo off)
Then change the setting for ‘0 – 2 Seconds’ to ‘Run Custom Script’. That’s it. Now when we press the button, the wireless is toggled and the LED switches itself accordingly.
Tested with Tomato 1.19.
According to the free newspaper “news” of today (Zurich, Switzerland) page 15, the computer-science Professor Kieron O’Hara, which is concerned about the loss of privacy in the internet age, is advising the editor in the interview to “google regularly one’s name, phone number and credit card number”, to see if this information is to be found somewhere on the net. OMG. I am wondering where this crap comes from. Either is this professor as intelligent as my banana tree, or the editor writing this did the interview in Esperanto, which neither of the two are understanding.
Why is it a bad idea to google one’s credit card number? Just in case you don’t know.
I have watched this talk a couple of days ago. It is really interesting so I am posting it hereafter.
I like particularly the TED talks. They are creative, expose innovative ideas in the fields of science, art, education, technology, design and even spirituality. It is a great source of inspiration. Now with leopard I can also watch my TED podcasts on TV using the new frontrow application. This is awesome.
In The following talk, Ken Robinson talks about creativity and education in “Do schools today kill creativity?”.
I just stumbled upon that video of Justice on Youtube. There is definitely something interesting there!
Last week I bought a consumption measurement device for 20 bucks. I wanted to know how much current is needed for various electronic devices I use at home, some of them on a 24/7 basis. I have got a home server running Linux, that I use as a NAS, print server, slim server (for streaming mp3 files to an mp3 device) and for experimenting a bit with Xen and Ubuntu. I have got also some other devices like a wireless access point (WRT54GL running Tomato), a cable modem, an external backup hard disk, a b&W laser printer and a few other electronic devices.
Of course, one of the most energy hungry device I have is the server, which is always switched on. I was expecting a consumption of about 60 W, because I tried to choose efficient components, some of which were listed on a review regarding a green computer consuming 54 W when idle. My hardware configuration is the following:
- Processor AMD 64 x2 EE 3800+, dual core and energy efficient version (which is actually quite cheap)
- Micro-ATX Mainboard M2NPV-VM with AM2 socket
- 2 GB of RAM (DDR2 PC4300)
- 2 Seagate 7200.8 250 GB hard disks used as a software RAID-1 array
- Power supply ElanVital 500W, ATX, with 80% efficiency.
- Plextor Plexwriter DVD burner
So I shut downed my server, plugged it in the measurement device and booted it. The value I could read on the device, after the reboot was finished and the server was idle, was higher than expected: 85 W. I was not very happy with that value and began to try to optimize it.
- I first tried to remove the DVD burner, but I got just 2 W of reduction, which was not good enough.
- Then yesterday I tried to install the last stable release of Ubuntu, which is Ubuntu 7.10 gutsy 32 bits version (I add previously Ubuntu feisty with a XEN enabled kernel). I was pleased to see that the server was only consuming about 68 W (DVD burner included). I then tried to re-install XEN and after rebooting saw that I was again at 85 W. So the XEN kernel had different options enabled that were not optimized for a good power management.
- I got back to the stock kernel and tried to activate the automatic spin-down of the hard disks. I did this using the command
hdparm -S 60 /dev/sda hdparm -S 60 /dev/sdb
which spins down the two disks after being idle for 5 minutes. I was able to grab a few watts and get down to 60 W, which is not too bad. I added the two commands in /etc/rc.local so that it gets executed automatically on boot.
- I then tried to activate the automatic CPU frequency scaling, so that when the processor has a low usage, its frequency gets automatically reduced, hence saving some energy as well. I was getting some problems using the module powernow-k8, so I updated the bios to the latest version (1201), which resolved that issue. I could then install correctly the cpu scaling daemon. I just had to run
apt-get install cpufreqd
and then edit the file /etc/default/cpufreqd and insert “powernow-k8″ in the option CPUFREQ_CPU_MODULE (you can check which module you need to use here). With these two operations, the BIOS upgrade and the cpu frequency scaling, I was able to grab a few watts, getting down, when the server is idle, to about 53 W, which is already a lot better than the 85 W I was getting without tuning.
The options I might consider now are the following:
- I could reduce significantly the power consumption if I automatically switch off the server every night. I am using it also to do a distant backup of another computer, but I could setup the BIOS to switch it on every night to do that, if it is not already the case. The only thing I would need to do is just to switch the server on, whenever I want to print something or hear mp3’s, which is not too bad. The server would then switch itself off at night, after doing the backup.
- If I want to use XEN, I should compile my own patched kernel (for XEN) and tune the power management options to get the same consumption as on the stock kernel.
- I could try to tune further the kernel options, which I am not sure that I am going to do, as it is much more convenient to use the stock kernel than to use a self compiled one (e.g. for updates).
- I could try to find a way to cut off the consumption of some other electrical devices, which are most of the time not used or in standby mode, but do consume power anyway. Like for instance the laser printer (standby 14 W), the external backup hard disk Seagate 500 GB 7200.10 (standby 12 W), the wireless access point WRT54GL (always on, 14 W) or the cable modem (always on, 12 W). Not sure how I can do that. Of course I could plug some of these devices in a multi socket with a switch, but I would need to turn it on each time I want to access the internet using my laptop and turn it off afterwards (in addition it’s not compatible with my automatic distant backup). Not very elegant. I guess I will have to think about that issue.
Additional links:
- How to reduce power consumption Nice howto based on Linux with other options presented.
- Ubuntu forum post Use cpufreqd to tune CPU frequency
- Ubuntu forum post Which module to use for cpufreqd
I just stumbled upon that video giving an update about the bug catching tool goanna, project on which I worked in 2005-2006. There is apparently now a nice integration within the Eclipse IDE.
Let me just comment what happened this week-end in Switzerland through a couple of quotes from international newspapers.
Le Monde, Paris “La droite ultranationaliste renforce sa position dominante aux élections législatives en Suisse” (“The ultra-nationalist right-wing party reinforces its position at the legislative elections in Switzerland”).
El Pais, Madrid “La derecha xenófoba suiza gana las elecciones con el 29% de los votos” (“The xenophobic right wing movement wins the elections with 29% of the votes”).
Frankfurter Allgemeine Zeitung, Frankfurt “Leichter Ruck nach rechts” (“Slight hitch to the right”).
The Times, London: “Billionaire inspired by ancient martyr, Christoph Blocher of the Swiss People’s Party led his party to victory after a campaign with a trident anti-immigrant tone“.
Small summary of a couple of projects seen during the second conference day:
- eRCP (abbreviation of embedded Rich Client Platform): this version, which is a subset of RCP, is targetted towards mobile devices and is also based upon OSGi. eRCP bundles light version of components from RCP, like eSWT, eJFace and eWorkbench and eUpdate. OSGi and the JVM is tuned for mobile devices and therefore has a smaller memory footprint than for a normal OSGi application, along with some other optimizations and tweaks. The aim is to get the benefits from RCP, while slightly adapted for mobile devices: multiplatform, native look & feel and better compatibility between devices than MIDP.
- eSWT (embedded SWT): I talked yesterday about RAP for AJAX application and RWT. eSWT is a similar project, but targetted this time for mobile devices. eSWT is also a subset of SWT and is split in 3 components for better memory usage: Core eSWT (required), Expanded eSWT and Mobile Extension eSWT, the two latter being optional. Like SWT, eSWT uses native widgets from the underlying operating system, although a difference is that much of the code within eSWT is native code, giving rise to much better performances than a basic wrapping of OS widgets (a critical factor for mobile devices). eSWT implementations exist already for a number of mobile device platforms, like Windows Mobile and Symbian series 80, among others. A version for Symbian series 60 is ongoing and should be released shortly, along with the corresponding SDK. During the talk, a demo of a simple news reader was made, where a version using SWT was running on a desktop computer, a second version using RWT was run as an AJAX application, and finally a version using eSWT was running on a mobile device. Impressive to see that a single code base can be used to produce 3 applications running each on a completely different platform, although at least small modifications of the code base are needed.
- Ganymatic: there is a couple of challenges for building an Eclipse distro, mainly managing the dependencies and running basic tests to be sure that plug-in A does not break the API of plug-in B when combined. This project, based on the package manager Buckminster aims at making such a process easier by providing an integrated infrastructure. This would enable to generate a distro automatically by fetching the required base packages, installing recursively their dependencies, running a number of automated tests to be sure everything is in place, making the binary build and reporting possible errors. The project will be used in particular for next year Eclipse’s release called Ganymede.
- BMW CarIT: Eclipse is here used as a platform along several lines. For instance an Autosar IDE has been realized based on Eclipse RCP (using technologies like EMF, GEF, OAW), providing a modeling tool for developing Autosar applications. There is also the embedded development in C++ done with Eclipse CDT, where a custom compiler has been quickly integrated, including error/warnings annotations, taking advantage of the openness and extensibility of Eclipse as an IDE. Some other projects regarding Eclipse have also been presented (like an automated deployment solution).
- Medany Platform: this is a project developed in France on top of Eclipse RCP and eRCP. The idea is here to use mobile devices (PDA) to aquire medical data and synchronize them with some servers. eRCP is used on the mobile devices while RCP on the server. The project is heavily based on Model Driven Architecture (EMF, OAW) and some other Eclipse projects (WTP, DTP).
I guess, that’s it for this year. More information can be found on the Eclipse Summit 2007 website.
I am at the moment in Ludwigsburg, which is in the Stuttgart’s area, in Germany, for the annual Eclipse Summit 2007. This is actually a quite interesting conference in the effervescent and mainly open source field of Eclipse. Lots of different projects around the mother project Eclipse are being presented. There are actually lots of interactions between them. Check the Eclipse Summit page for more information as well as a live cast and the slides regarding the talks.
A little summary of some interesting projects seen today:
- Erich Gamma presenting the Jazz project. A collaborative development environment. It provides a number of tools, which are integrated together, to enable a better collaboration in software development. I am seeing this a bit like a web 2.0 touch to software engineering, where the different developers have the opportunity to follow in real time the development of the whole tool: chat together using instant messenging, see a distributed task list of the project, send by drag and drop references to bugs or defects, see who is online at the moment to be able to address a given problem with that person directly, etc. The application is unfortunately not open source, but is of course based on Eclipse RCP.
- An update regarding the Equinox or OSGI framework, which is an underlying framework and architecture on which Eclipse is based from the version 3.0.
- An AJAX framework called RAP. This project aims at providing a target platform for deploying existing SWT applications, as AJAX apps, providing API’s (mostly) compatible with SWT. RAP or the RWT framework, as it is called, is in fact a subset of the SWT API’s. An application using the RWT target platform will be automatically translated into a web application upon execution, including javascript handling of the user events. It seems like a great idea to have a unique code base for an application, using either SWT or RWT depending on the deployment type. Although I am wondering how a seemless integration of the RAP application within the browser can take place: for the moment, the RAP application will have for instance its own windows, within the browser window, which I don’t find very nice. But in any case, a project to keep an eye on.
- An update regarding JDT. I know I had read it in the release notes when Eclipse 3.3 was released, but I re-discovered the CTRL + 3 (Command + 3 on a Mac) shortcut. It does basically the same than Quicksilver or Spotlight on a Mac, just within Eclipse. Typing a short text, it does a search among all possible operations applicable to the situation. A great way to save time when launching operations (e.g. show the error log view or do a code cleanup).
- GUIDancer: I find this name funny. This application basically enables to run tests of GUI based applications, at the moment just using Swing, although the version 2.0, which should be release to the end of the year, should support SWT and Web applications as well. A good complement to Unit Testing.
I will try to charge my laptop battery until tomorrow, so that I can give an update of the second day.
@Edit. I forgot to mention the EMF Compare project:
- EMF Compare is a project started exactly one year ago at Eclipse Summit 2006. The aim was to privide model comparison capabilities, which were lacking at the time. One year later, a working prototype has been implemented. This enables, when using EMF for Model Driven Architecture, to be able to compare graphically two models, useful for instance when merging back to Subversion or CVS a modified version of a model. This project can be also used to compare graphically different XML files.
A friend sent me the other day the link of the virtual barbershop. Amazing. Remember to use headphones, though.
Recent Comments