News
|
Like I mentioned before, I started my thesis for my Computer Science degree. And without getting into too much detail at this point, one of the problems we are trying to tackle is the conversion from sequential programs to parallel programs. The target architecture is not really of importance although we are stuffing it in a multi-core chip which is programmed into a Virtex 6 FPGA. The thing that strikes me as odd is that an insane amount of work is being put into creating new applications for multi-core environments using tool-kits and various paradigms like tasks, task graphs, Khan Networks - whatever. After years of development, the mainstream development tools come with tools to help the programmer to design multi-core programs without having to specify each and every thread and communication channels - a drawback which prevents most programmers to easily write parallel programs. But most software these days is based on monolithic code meant to be running on a single core. Slowly parts are rewritten to exploit the surplus cores modern computers have but even then, most software scales poorly to more cores. Since most 'fixes' involve a complete rewrite, this shift to actually write multi-threaded programs instead of having a hand full of manually designed partitions within a program to appear to be multi-core is finally beginning. In a way, my research area is barely explored as I attempt to rewrite a decoder application to be converted from a single core program to something which can run on at least 8 cores... Hows that for multi-threading ^^... |
|
According to the devs of Amarok, the new VLC based backend for Phonon delivers better sound quality than the Xine backend. Something like this just begs to be explored of course and the instructions below are based on the generic ones but specifically for Gentoo. Please note that the backend is alpha: it is incomplete and changes daily. Install VLC 1.1 pre by installing the live version (note that VLC 1.1 is about to be released any time now so this might be available by the time you read this). Note that I had to disable the Gentoo patches in the vlc-9999 ebuild as they prevent VLC from compiling. Note to self: add the keywords to the '/etc/portage/package.keywords' file. ;-) Next, fetch the Phonon-VLC backend from GIT. Note that is should become 'stable' soonish (it said somewhere it should be moving to kdereview in the near future) so it should be safe to assume it sort of works. And thats it! Just fire up Amarok -> Settings -> Configure Amarok -> Playback -> Configure Phonon (or go through System Settings in KDE) and select the VLC backend (currently shows up as version 0.2). One of the annoyances I've had with *nix so far was the apparent lack of multi-monitor control from the GUI. I've have experience with TwinView using xorg.conf, which worked fine but was quite a hassle to set up. A side effect of this is the fact that once set up, I never touched the configuration again. For a computer with 2 screens hooked up permanently, this is fine. For a laptop which is dragged along and connected to beamers, TVs and monitors - not so much. The good news is that I run a modern linux distro which led me to believe that the multi-monitor stuff should be enabled by default. However, I am not using Kubuntu (which would probably auto-enable all new toys for me) but rather I am using Gentoo. So it took some digging to figure out what is going on these days and how to use it. On a side note: you could use 'nvidia-settings' instead after plugging something in but I'd rather use the automatic method. First a word of warning: the binary NVidia drivers do not support RandR 1.2. I have the 195.xx drivers installed and NVidia expressed back in 2007 that RandR 1.2 support was a 'priority' feature. One that apparently needed more than 3 years to be released. This means that using the binary 'nvidia' driver will give you RandR 1.1 which does not support the on-the-fly hotplug for displays. Instead you are forced to use TwinView, define meta-modes for every possible configuration and switch to those using 'xrandr' (or use the nvidia-settings tool each time). Since this sort of defies having RandR 1.2 support altogether in Xorg, I decided to ditch the binary nvidia driver in favor of 'nouveau': the open-source replacement for 'nv' with decent 2D acceleration support (although I couldn't resist and enabled the highly experimental Gallium3D support as well). To start off: trim down your Xorg configuration to a minimum, note that a recent Xorg is needed (I have 7.4 at the time of writing). This is needed to enable the auto-detection of many things or rather: manually specifying properties will override auto-detected settings and cripple Xorg's ability to handle everything on its own. As an example, I have included my own xorg.conf below. The "ServerFlags" section is pretty simple: use every auto-detection known in Xorg to hotplug devices. This means both monitors and input devices like mouses and keyboards. Next up are the 2 sections for my NVidia display card. Since I am using 'nouveau' instead of 'nvidia', make sure you are not loading "glx" somewhere (if you were using 'nvidia' in the past like me, you most likely have that somewhere). The last 2 sections are fairly simple as well but note that I do specify the native resolution of my LCD screen as the preferred resolution. Thats it! Restart your X server and run 'xrandr' so see the result. I plugged a VGA monitor in my notebook and this is the result: Last Updated ( Saturday, 10 April 2010 23:23 ) For some reason, repositories can be moved around. If you are using a working copy to develop a program or web-application or whatever, the move usually only implies a 'check-out' and you are set. However, sometimes the repository is part of a production environment. To be precise, the production version is prepped in a special branch and then deployed using Subversion. Upgrading a website to a newer version only requires a 'svn up' and if you automate the database upgrades as well, web management becomes a breeze. You might imagine that moving the repository in such an environment is less than desirable: each site or application which is part of that repository becomes un-upgradable and checking out everything by hand and setting it all up (plus the verification that every part is still functional) becomes a time consuming task. However, the SVN information is all stored in plain text files. The following snippet switches the repository from http://svn.mydomain.com/svn to svn://svn.someotherdomain.com. This means you can quickly switch protocol, host names or even the location within a certain host. Simply copy-paste the code below into a file in the directory holding one or more projects for that repository, change the URLs (do not forget to escape by replacing '/' with '\/') and run the script. Visitors dwindling to my site, I decided it was time to write something again after 3 months. Its not that I stopped working with computers but rather that my attention moved from working with computers to studying Computer Science. Something that is hard to combine if you are making a dash to the finish line. In other words: I am finishing my last courses in the coming days and will begin on my thesis. I haven't decided yet if I will post things from my thesis yet (as extra content). Not so much because of the extra time but also because not everything is interesting and some information is classified - making other things inexplicable or incomplete if I were to post it online. On to more important things: KDE 4.4 is about to hit the virtual shelves! Besides more polishing and some other features, it finally comes with a full blogging client (as part of the base system). "What", you say, "they fixed KBlogger?" Heck no, KBlogger is still dead as a door nail and as buggy as it has been forever. It seems that someone got the bright idea to actually replace KBlogger altogether with Bilbo - the tool I talked about before. One of the major issues Bilbo had, was that fact that nobody knew it. Personally, I think this comes from the name: Bilbo - as it is also the name from one of Tolkiens books. If you now think "Lord of the Rings", you should be ashamed: Bilbo is part of the story *before* LOTR, he just happens to be alive in the epic story afterwards... But I digress. The fact remains that finding the program (even if you know that it exists) becomes hard because all search engines will refer you to hits about the wrong topic. Also, as you might imagine, some folks (*cough*copyright holders*cough*) might have issues with the naming. So it was renamed from Bilbo to Blogilo a while back and as such can now be part of the whole KDE experience. Hurray! Next time I will probably explain about a project (formal model checker, based on the Promela language) I have been working on and the surprisingly bad hash functions I found on the internet... |