Michal Čihař - Archive for Jan. 1, 2012

Dictionaries for N9/N950

I was just about to start writing own viewer for StarDict dictionaries for Harmattan, when I noticed that somebody already took the effort and the application is available. It's called DictionaryStar and it's developed on gitorious.

With the hard part done, I've adjusted packaging of various dictionaries I've made available for StarDict so that it works fine on Harmattan. For now only English-Czech one is completed, you hopefully be able to get it soon at Nokia store.

The reason I've started with only one is that this pretty much does not fit into content guidelines for Nokia store and I expect problems when this will be passing their QA. So I've decided to push only one for now and once I get it through, adding others will be easy.

It's too early for GSoC 2012

It looks like with start of the new year, people started to ask for phpMyAdmin's projects for GSoC 2012. Given that we have no information whether there will be Google Summer of Code this year and whether we will be chosen to participate, these questions look quite premature.

On the other side you can start contributing any time and if you are already known in the community, you might have better chance being accepted. So forget speaking about hypothetical GSoC projects for now and start fixing some bugs, which is something much more needed right now (given that 3.5 is in alpha state).

If you are looking for more information, we have basic facts for developers on our website, there is also a wiki page mentioning some tasks for junior developers.

More on Flattr

My last post about Flattr has received much more attention than I would expect from short rant, but the feedback forced me to think a bit more about the issue.

I guess that most of Flattr early adopters jumped in for getting some money for things they produce (regardless it is music, text, software or anything else). The initial setup required users to also give money to others and this limitation was later removed and now you can only receive money without giving anything out. In the beginning every now and they I've discovered some interesting thing to flattr, so I usually had to postpone it to next month to give at least some reasonable value. This way initial money people have put there circulated between users and on each transaction they were reduced by 10% fee, what could lead to natural reduction of money available in the system.

Flattr is of course trying to introduce new features to attract new users. Flattr-a-Twitter is probably nice thing, however I somehow did not really get on Twitter train and I think I never will. The new catalog looks nice, still I don't think I will spend time browsing it and looking for content there. So basically this adds nothing useful for me.

Another recent feature - thanking to people who have flattered your thing in last month is IMHO bad idea. I've always seen Flattr as simple way to give little money to lot of various things. In case everybody would send thank you email, it would become every month spam, which I would simply ignore.

phpMyAdmin translations status

As phpMyAdmin is approaching to 3.5 release, it has come time to share about translations status. Same as with past releases, you can expect this "spam" every week or so.

The 3.5 release comes with lot of new strings, so it's some work to get to 100%. However some translators have already managed this and we currently have five translations on 100%:

  • English (Great Britain)
  • Russian
  • Spanish
  • Swedish
  • Turkish

There are few which are really close to 100% and I hope they will get there soon:

  • Danish
  • French
  • Japanese
  • Slovenian

Just on next level is Czech, where I'm progressing quite slowly and would welcome help :-).

Was your language not mentioned? It's now perfect time to contribute to it.

ColorHug in openSUSE 12.1

Finally I've also find time to test ColorHug on openSUSE 12.1. For my experiences on Debian check previous blog post.

Unfortunately on openSUSE calibration is also not that easy. First of all, you have to install patched argyll CMS from multimedia:color_management repository. You can also install gnome-color-management (and colord), but for some reasons they did not offer me any screen for calibration, so I gave up on this and tried manual calibration using Argyll.

After looking into documentation, it seems to be pretty straightforward:

$ dispcal -y l -o /tmp/L220x
Place instrument on test window.
Hit Esc or Q to give up, any other key to continue:

Display adjustment menu:
Press 1 .. 7
1) Black level (CRT: Offset/Brightness)
2) White point (Color temperature, R,G,B, Gain/Contrast)
3) White level (CRT: Gain/Contrast, LCD: Brightness/Backlight)
4) Black point (R,G,B, Offset/Brightness)
5) Check all
6) Measure and set ambient for viewing condition adjustment
7) Continue on to calibration
8) Exit
Doing check measurements

  Current Brightness = 190.74
  Target 50% Level  = 36.14, Current = 47.98, error =  6.2%
  Target Near Black =  1.91, Current =  4.11, error =  1.2%
  Current white = x 0.3424, y 0.3179, VDT 5910K DE 2K 18.3
  Target black = x 0.3424, y 0.3179, Current = x 0.3123, y 0.2711, error = 18.06 DE

Press 1 .. 7
1) Black level (CRT: Offset/Brightness)
2) White point (Color temperature, R,G,B, Gain/Contrast)
3) White level (CRT: Gain/Contrast, LCD: Brightness/Backlight)
4) Black point (R,G,B, Offset/Brightness)
5) Check all
6) Measure and set ambient for viewing condition adjustment
7) Continue on to calibration
8) Exit
Commencing device calibration
The instrument can be removed from the screen.
$ dispwin -I /tmp/L220x.icc 
$ dispwin -L

It turned out, that the change after calibration are quite minor here. This is sort of thing I've expected from past experiences with editing photos here, but anyway, now I trust results here even more :-).

ColorHug has arrived

Yesterday, I've unpacked new toy - ColorHug. It came in small packet with CD (which is unfortunately not that useful as it should be), mini USB cable and a letter from Richard Hughes.

First attempt to use was of course just connect and make it work :-).

The basic access works out of the box:

$ /usr/lib/colorhug-client/colorhug get-firmware-version
1.0.3
$ /usr/lib/colorhug-client/colorhug get-hardware-version
Hardware Version 1
$ /usr/lib/colorhug-client/colorhug get-serial-number
000019

Unfortunately calibration with colord does not yet work out of the box on Debian due to bug 655888. Hopefully it will be fixed soon and it will work nicer. For now you have to rebuild Argyll with Colorhug support (with extra pain caused by Debian package using different build system than upstream). I won't provided binary packages as I pretty much gave up after effort to build clean packages from same sources on i386 and amd64, which always failed on patched autoconf based build system.

Side note: I somehow hoped that I won't hit new (in meaning that I don't know them) open source projects which do not use some version control. Unfortunately Argyll CMS is one of such projects...

After this update (and restarting GNOME), when connecting ColorHug, the Gnome Color Manager pops up and man can calibrate the screen. The biggest problem is to make ColorHug hold on desired place on screen, if it is not close enough to screen, you will get really bad results.

The first result is of course far from being perfect, but colors are definitely better than without calibration or with ICC profile shipped with notebook.

Fixup of historical data

This blog consists not only of posts created in it, but also older posts written elsewhere. The vast majority of them comes from older blog engine I used here (Nanoblogger), but almost same amount are posts written in Czech originally posted on abclinuxu.cz.

It turned out that when I was doing import of those, I somehow forgot (or rather did not care) to fix links between them and links to rest of abclinuxu.cz website. With few lines script and huge help of BeautifulSoup these should be now fixed. So you can properly navigate over almost seven years of my blogging history.

While looking at other failing URLs here, I've also added number of redirects, so that most people end up on pages where they expect :-).

Náhodné SEO

Prohlížení statistik, co uživatelé hledají na mém blogu (respektive co zadali do vyhledávače než sem přišli) je většinou poměrně zajímavé.

Před více než měsícem jsem tu sepsal svoje zkušenosti z rekonstrukcí panelákového bytu a tyto jsou nyní zdrojem mnoha překvapení. To že se příspěvek o Panelreko bude objevovat hned mezi prvními výsledky po zadání názvu firmy jsem rozhodně nečekal.

Nicméně ještě větší překvapení je vyhledávací fráze "jak udělat botník". Návod na stavbu botníku rozhodně v mojí recenzi skříní od Amonitu nehledejte, protože kdybych botník vyráběl já, tak by dopadl podstatně hůře.

Looking forward to FOSDEM

I just got confirmed my flight bookings for FOSDEM 2012, so I'm looking to meet all great people there again. This year we've again arranged there meeting of phpMyAdmin developers, now it also includes three new faces from last years GSoC.

As for my schedule I did not yet find time to check all the schedule, but what definitely sounds interesting for me is Open Mobile Linux Devroom and some talks in MySQL and Friends Devroom. Rest will be (as usual) scheduled on the fly as I meet people there. This year I decided to deliberately skip keysigning as last year I anyway did not manage to attend it and I expect this year to be equally busy.

In case you want to meet me there, just let me know, we can try to arrange something in free slots :-).

Tiny blog improvements

Finally, I've found some time to do some improvements on this blog engine.

First thing which was more and more missing is reasonable content for description in HTML headers. This lead to sites like Google+ always fetch the constant text and that did not look that. So now, there is something really relevant to the content, either first paragraph (what is the case for all old entries) or something I can manually edit (in case I won't be too lazy).

For automatic extraction I tried several approaches. First attempt was simply extracting first paragraph from Markdown, however I quickly remembered that quite a lot of older posts were written directly in HTML, which made this big failure. Later trying BeautifulSoup on rendered HTML, what lead to missing spaces around text which was originally in links. Finally I discovered html2text, which worked pretty easily and does what I need.

In the end the code looks like following:

def get_auto_summary(self):
    h2t = html2text.HTML2Text()
    h2t.body_width = 0
    h2t.ignore_images = True
    h2t.ignore_links = True
    h2t.ignore_emphasis = True
    text = h2t.handle(self.body.rendered)
    return text.splitlines()[0]

Other change affects Flattr, as providing Flattr links for each posts is now possible even without javascript (it's called Auto-submit URL), I've decided to implement them this way. Let's see how many things will get on Flattr this way (at least it will give me better indication what somebody considered being useful). Thanks for commenters on my older blog post for hints.