Michal Čihař - Blog Archives for Coding

Version control wrapper wanted

I'm using more and more version control systems and I'm more and more often mistaken which commands to use in which project. At work we still have CVS, for kernel it is git (or cogito), for phpMyAdmin we switched to subversion, for my old projects it is bazaar and for new projects I use bazaar-ng.

And not, my brain can not switch context fast enought to remember that in this repository I need svn up and in another one cg-update.

I doubt that I'm only one with such problem and hopefully somebody already wrote some meta version control interface, which would correctly detect which beast is current directory using, and invoke appripriate command for wanted action. However Googling didn't find anything like that, but hopefully I'm only using bad query. Anybody has seen such tool?

I did it again

It happens too often in recent program releases - I do a release and few moments after it I notice some quite important bug. Today it is deadlock in upgrading in Ukolovnik. I should have seen it before (as I fixed simmilar problem for another part of config layer), but I haven't.

I'll wait for some time if something else appears and then make another new release. You can meanwhile apply patch from the bug manually or use daily snapshot.

Ukolovnik 0.4

Ukolovnik 0.4 has been just released. New features:

  • Modularized code.
  • Change of translation format.
  • Add installation script.
  • Move configuration to database.
  • Add configuration page.
  • Customizable add page.

Widescreen LCD setup on Acer AL1916W

I just got new LCD at work - Acer AL1916W. I thought it will be much easier to setup than it actually was.

First attempt was only to add "1440x900" to modes in X.org configuration. It failed as well when I added modeline for this mode. After some Googling I found that for my stupid onboard card - i945 - I need to do some voodoo with it's BIOS to make it work.

Fortunately there is tool 915resolution which does this black magic, so it was not that complicated at the end:

# aptitude install 915resolution

It complains that it can not detect display, so I had to modify /etc/default/915resolution manually:

MODE=5c
XRESO=1440
YRESO=900

After starting 915resolution init script, you should be now able to start X.org server with following configuration (kept only relevant parts):

Section "Monitor"
        Identifier      "Acer AL1916W"
        Option          "DPMS"
        HorizSync       30-82
        VertRefresh     56-76
        DisplaySize 410 260
        Modeline "1440x900" 136.0 1440 1520 1672 1904 900 903 909 934 +hsync +vsync
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Intel i945"
        Monitor         "Acer AL1916W"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Virtual 1440 900
                Modes           "1440x900" "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

And finally I can use widescreen display!

Finally some progress

I finally pushed myself on doing some progress on ukolovnik task tracker. It got some wanted features, brand new setup script and there is core of database based configuration.

Setup script works only for MySQL >= 4.1 and I will probably raise requirements to this version as I can not check anywhere correct functionallity with older versions. Anyway if there is some user of older version, please contact me, and we'll find a solution.

I can not promise new release date, but I want to finish db config soon and it is only remaining issue for next release.

Using studets as work labour?

Some time ago I applied some of project I work on (Wammu and phpMyAdmin) into some activities, where students can choose it as work for their semester. I didn't look for such events, better to say is that those two found me. After that I completely forgot about that, but suddenly they both now replied asking for more details. I was quite surprised, as I thought that nobody was interested in them, but it looks like it only takes quite long. So maybe in some of next Wammu and/or phpMyAdmin releases, you will see fruit of this :-).

BTW: Does anybody has idea, why everybody wants something from me right now? No I'm not complaining, I just wonder why everything has arrived right now…

Nanoblogger plugin for include pages

I already wrote patch for this some time ago, but it turned out that it can be done more effectively using plugin interface. So after few minutes I wrote plugin for generating article list for each category which can be used for inclusion in other pages as you can see on my website (eg. pma.cihar.com).

Make your software scalable!

Okay, I finally give up with SubStats. It is software that might be useful for repository with few commits, but definitely not suitable for phpMyAdmin:

  1. You can not make graph for more than 1000 revisions of phpMyAdmin, it crashes because "stack is too low".
  2. Generated SVG make most browsers really busy as it contains too much points and they usually render it few minutes.
  3. I managed to analyse about 5000 revisions, but it now requires about 800 MiB of memory.

So I have unusable graphs of 1/10 of repository and analysed data for 1/2 of repository where I can not continue.