• Rolling your own watchdog for Qemu
    Sometimes there may arise a need to make your own watchdog for your virtual machine. The process itself is really a simple one, I will base this example on Intel’s 6300esb watchdog.

    Let’s first start by getting the latest source code for Qemu:

    git clone git://git.qemu.org/qemu.git && cd qemu

    Now it is reasonable to switch to your own git branch in case you want to roll out some patches later on.

    git checkout -b custom-watchdog

    All of the existing watchdog sources are located at hw folder.

    Make a copy of existing watchdog and include it in the build path.

    cp hw/wdt_i6300esb.c hw/wdt_custom_watchdog.c

    Now lets plug the new watchdog into the build process. For doing that we need to edit Makefile.objs and add a new line
    hw-obj-$(CONFIG_PCI) += wdt_custom_watchdog.o

    right after the "hw-obj-$(CONFIG_PCI) += wdt_i6300esb.o" line.

    Next step is to dig into the code and start modifying the new and improved watchdog. For the sake of simplicity I will leave the core functionality unchanged. I will only change the important parts of the code to enable the registering the new watchdog with Qemu.
    Replace every reference to i3600esb and alike with your version of the name. If you skip some of the code then there is a chance that custom watchdog will not behave as expected. Most of the tedious replacement is easily done with sed commands similar to this.

    sed -e 's/i6300esb/custom_watchdog/g' hw/wdt_i6300esb.c > hw/wdt_custom_watchdog.c

    Now open up the code of the custom watchdog and fill in it’s name and description with your own such as:

    .wdt_description = "Super Custom Watchdog"

    Recompile now and see if the new watchdog is visible and loading with Qemu.

    qemu (custom-watchdog)$ ./i386-softmmu/qemu-system-i386 -watchdog ?
    custom_watchdog Super Custom Watchdog
    i6300esb Intel 6300ESB
    ib700 iBASE 700

    As it turns out, the new watchdog is visible for Qemu.

    Let’s run some VM with our new watchdog:

    ./i386-softmmu/qemu-system-i386 -watchdog custom_watchdog ~/debian.qcow2 

    If everything goes well and the virtual machine comes up without any errors regarding the watchdog, the next step would be to replace some of the old variable names in the source code with more appropriate ones, otherwise the new watchdog is ready for further customization.

    Source code here.

    Software versions used:

    • Qemu sources for  version 1.0
 
  • How to do a search report? The Search Logger 2.0 usability study
    Summary

    The background
    The aim of the Search Task Repository project is to let the users/Internet searchers publish their annotated search logs and make these logs searchable. In order to log ones search activity and behaviour, we have developed a special tool called The Search Logger 2.0. Here “2.0″ means that a conceptually similar but technically very different logger existed before I started with this project and was developed by Hannu Kikkas. The current version is platform-independent and uses a proxy to modify every web page served so that it could be logged by our dedicated HTTP server. The Search Task Repository is currently in development and will be one of the main topics of my Master thesis.

    The goal
    We wanted to put ourselves in the end user’s shoes and evaluate the usability of the current Search Logger 2.0. To do that I conducted a number of exploratory search tasks and used our software to log the web activity. In essence, I sought an answer to the question “How to do a search report?”. The other goal was to find, document and fix bugs in the existing logging and reporting software and come up with ideas about new features.

    The results
    The existing solution was tested on six exploratory search tasks such as finding a foreign university on a budget where to study machine engineering, finding 5 clever Christmas present ideas for under 10 euros per item, finding a ballroom dance school in Tartu area, etc. These tasks and how they worked out on our current software in more detail can be found on my blog. What is more, I made a short screencast for presentation purposes which is also linked to. During the semester I made some small tweaks to the Search Logger 2.0 but they are mostly bug-fixes and I do not consider them significant in this context. Here is a list of things that I learnt from the experiment:
    • FIX: Amazon book preview does not work properly
    • FIX: Sidepane video image previews on YouTube are not displayed
    • FIX: Some random exceptions (documented) -> possibly related to the pre- and post-forms
    • TODO: Users might want to take notes while searching
    • TODO: onSubmit and onClick events should be also logged
    • TODO: The logger is lacking a database integration
    • TODO: Search logger and repository integration (work in progress)
    • IDEA: Copy-paste detection and bookmarking would be nice to have because this help us detect web pages with relevant information
    Thank you for reading this blog and feel free to share your ideas!
    Peeter

  • Finding a ballroom dance school in Tartu area
    And here is the second search task conducted. What makes it special is its locality. Search tasks often get a different meaning when the physical location comes into play. And this is one key aspect to bear in mind for developing the repository of search tasks. A user who is searching for a dance school in Tartu might have little use of search logs describing the same thing for Stockholm. However, general search patterns (for instance some non-location key words typed in Google which lead to good results) might still be discovered from the logs.

    Pre-form:

    Post-form:

    Technical logs:
    http://www.mediafire.com/?86v2dlqhp0qlvl9

    In the next post I will wrap up why the things I did were useful for the project in general.

    Peeter

    P.S. This is not an advertisement but the best school quality/price-wise that I found was Revalia Tantsukool, appr. 4-5 EUR per hour. :D

  • Electronic books search case study
    Hi!

    In the meantime I have came up with two new exploratory search tasks. The first one will be covered in this post

    Objective:

    Result:

    Answers:
    Teach Yourself Electricity and Electronics [Paperback]
    Make: Electronics (Learning by Discovery) [Paperback]
    Tab Electronics Guide to Understanding Electricity and Electronics [Paperback]
    Electronics Demystified [Paperback]
    Electronics For Dummies [Paperback]
    All New Electronics Self-Teaching Guide (Wiley Self Teaching Guides) [Paperback]
    Search logger logs and crash logs:
    There is more to come…
    Peeter
 

Just got my day-pass option with t-mobile under Linux and my HUAWEI USB-Stick HDSPA-Modem (lists as Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270 HSDPA/HSUPA Modem in lsusb) running. Now I pay $2 per day, if I need Internet on that day (only 2G speed – I measured, I got something around 9-16Kbytes per second – enough to even use Skype). For $3 a day you get even 200MB on 4G speed. Nice is that the connection is apart from the speed not capped. Pretty good prepaid optionin the US. I got a second SIM-card for this purpose (didn't want to lose my gold status on my "normal" prepaid card).

Basically all you need is the wvdial-package and the following in /etc/wvdial.conf:

[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","epc.tmobile.com"
Modem Type = USB Modem
Modem = /dev/ttyUSB0
Baud = 460800
Phone = *99#
Password = pass
Username = user
ISDN = 0
New PPPD = yes
Stupid Mode = yes

Make sure, that your modem is on /dev/ttyUSB0 (you might end up on a differnt USBn, if you have a built in modem). Took me a while to figure out how to specify the access point (epc.tmobile.com) and had to read this one out on my Android phone.

Just start wvdial now and it should connect.

You might also want to make sure that your user is in the dialout group or you will have to start wvdial as root.

You might also try as root before starting wvdial (not sure, if the storage module here interferes):

rmmod usb-storage
rmmod option
rmmod usbserial qcserial usb_wwan
modprobe usbserial vendor=0x12d1 product=0x1003

However, I think this is not necessary, if you select the right USB-port (I have a qualcomm modem built in).

 
  • Two new search tasks
    Hello all,

    I have two new exploratory search tasks with complete search logger data to report.

    The first one is seasonal: finding 5 clever Christmas present ideas for under 10 euros per item. Target is unfixed but you can assume it is a lady.

    The second: listing 10 most common requirements for a data analyst job application, i.e. must have skills, personality traits, education, etc.

    First case
    Second case

 

Just recently I had lots of weird things happening on my desktop. The Places-addon of Xfce4 was for example opening always my mp3-player qmmp, when I clicked on a folder. Interesting default?! Also when opening pdf and epub-files always calibre was the default.

Digging through the net, I found this:

http://ubuntuforums.org/archive/index.php/t-51012.html

So basically I removed the local apps associations (rm -R ~/.local/share/applications/*) and edited  /usr/share/applications/defaults.list (there calibre installed itself). This actually did not help too much. I found a very interesting command: mimeopen

So concering fixing the folders, I tried mimeopen on the command line and it asked me which default folder-opener I wanted and I picked thunar, which fixed this problem.

So, use the tricks from the link + mimeopen.

When mimeopen opens the right stuff, your system should work.

Good luck, fixing!

 
  • Search Logger 2.0 DEMO video
    Here you will find a video of somewhat superior quality. Enjoy!
    Aspects of the software covered in this video:
    • filling in pre- and post-forms by the user
    • automatic logging of the user search behaviour
    • different log formats
    • searching itself using Google
    Aspects NOT covered in the screencast:
    • setting up the whole logger system
    • source code of the search logger 2.0
    If you have questions or ideas, please post them here. Thanks!
 
  • Green cloud computing, which way to go?
    What is the right cloud architecture to create a green and sustainable cloud? Should we consolidate to huge mega data centers or is there another way to go? The analogy Currently data centers are constructed on the intersection of the electrical energy infrastructure and the network (data) infrastructure. Considering the current electrical energy infrastructure, for [...]
 
  • How are cloud computing companies going to effect the online storage service industry?
    Recently Eric Greenwood from OnlineStorage.org asked, me “..Do you have any opinions on how cloud computing companies are going to effect the online storage service industry? A view from an economic mind like yours would be very interesting!” Aren´t online storage service providers themselves also cloud computing companies? I am a heavy (not yet paying) user of [...]
 
  • Initial screencast of the interface
    Hi!

    I carried out another search task and recorded a screencast presenting the whole process.

    Task:

    Compile a list of the five best universities (worldwide) to achieve a
    master’s in machine engineering (or closely related field) under the
    condition that you have 1500 EUR per month available to cover all
    involved costs.

    Happy watching! Note: what you will see is edited video material. However, as PiTiVi seems to have no support for adding text labels, there are none at the moment. Sorry for the relatively poor quality. I hope make available a better version soon. :-)

    More information regarding this task coming soon… Please comment on what you would like to change in the first place to make this tool better.

 

Just wanted to share an interesting observation. I had quite some trouble with some programs in Linux playing sound (most programs like vnc working nicely), mainly with kvm but also musescore – it was allways stuttering. For fun I just installed the 3.0.0-2-rt-amd64 kernel and hey, the stuttering is gone!

Will continue to monitor this. Not sure what I lost using the realtime kernel.

© 2011 ulno.net