--- Log opened Thu Feb 23 00:00:19 2012 | ||
-!- lockless- [~lockless@LOrleans-166-28-35-15.w193-250.abo.wanadoo.fr] has joined #shogun | 00:58 | |
-!- lockless- [~lockless@LOrleans-166-28-35-15.w193-250.abo.wanadoo.fr] has quit [Remote host closed the connection] | 01:10 | |
-!- Netsplit *.net <-> *.split quits: CIA-64 | 01:22 | |
-!- Netsplit over, joins: CIA-64 | 01:28 | |
-!- dfrx [~f-x@inet-hqmc08-o.oracle.com] has joined #shogun | 05:49 | |
-!- dfrx [~f-x@inet-hqmc08-o.oracle.com] has quit [Remote host closed the connection] | 07:24 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 07:39 | |
-!- dfrx [~f-x@inet-hqmc08-o.oracle.com] has joined #shogun | 07:57 | |
n4nd0 | sonne|work: around? | 08:05 |
---|---|---|
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 11:33 | |
-!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 11:54 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer] | 11:54 | |
-!- wiking_ is now known as wiking | 11:54 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 245 seconds] | 12:26 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 13:23 | |
-!- dfrx [~f-x@inet-hqmc08-o.oracle.com] has quit [Quit: Leaving.] | 13:30 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 13:53 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Read error: Connection reset by peer] | 13:57 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 14:02 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Client Quit] | 14:04 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 14:37 | |
sonne|work | wiking: now yes :) | 14:48 |
wiking | sonne|work: i saw that you were publishing some papers with vojtek | 14:48 |
wiking | and i was wondering if i can ask some stuff about libqp | 14:49 |
wiking | :P | 14:49 |
wiking | it's not implementation more just theory | 14:49 |
wiking | about the condition of the objective function | 14:49 |
sonne|work | btw, vojtech wants to mentor lipqp / shogun integration + some generalizations | 14:49 |
wiking | heheh would be up for that | 14:50 |
wiking | i mean i don't know | 14:50 |
wiking | whether i can do what i'd like to do now | 14:50 |
wiking | with libqp | 14:50 |
wiking | i've read his paper about it | 14:50 |
wiking | a novel algorithm for learning ... | 14:50 |
wiking | damn i cannot copy-paste from .ps | 14:51 |
wiking | anyhow the subj. to part is <w, Psi (x_k, y_k) - Psi (x_k, y) > >= L (y_k, y) - epsilon | 14:53 |
wiking | and i'm thinking about how to extend it, by having a 3 variable for Psi... | 14:54 |
wiking | i guess then the problem would not be anymore convex necessarily thus i'd need to do something like CCCP | 14:54 |
sonne|work | concatenating variables is not possible? | 14:55 |
wiking | but then it'd be quite 'simple' to implement latent-svm | 14:55 |
sonne|work | ahh ok | 14:55 |
wiking | i want to introduce a latent variable there... | 14:55 |
sonne|work | doesnt' exactly sound fast but yes | 14:55 |
wiking | i've seen this paper Max-Margin Min-Entropy Models from some guys from stanford and i'd like to extend their algo and test it | 14:56 |
wiking | but of course the implementation is .... well yeah it's not out anywhere | 14:56 |
wiking | so i was thinking to do something with shogun | 14:57 |
wiking | anyhow vojtec is responsive to his emails? | 14:59 |
wiking | coz the guy whom i sent about latent-svm never got back to me | 14:59 |
sonne|work | he should be, just tell him that you might be interested in his libqp / shogun project | 14:59 |
wiking | (alexander binder) | 14:59 |
sonne|work | he is a nice guy | 14:59 |
sonne|work | really? | 14:59 |
wiking | yeah | 14:59 |
wiking | sent him about a week ago | 15:00 |
sonne|work | please send the mail again and CC me | 15:00 |
wiking | alrighty | 15:00 |
wiking | cheers | 15:00 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 15:32 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 15:38 | |
CIA-64 | shogun: Soeren Sonnenburg master * r0344298 / (2 files): add graphical support vector regression example add myself to svm/svr example authors - http://git.io/2gtVYg | 16:06 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 16:24 | |
-!- dfrx [~f-x@inet-hqmc08-o.oracle.com] has joined #shogun | 16:30 | |
-!- dfrx [~f-x@inet-hqmc08-o.oracle.com] has left #shogun [] | 16:34 | |
shogun-buildbot | build #329 of ruby_modular is complete: Failure [failed test_1] Build details are at http://www.shogun-toolbox.org/buildbot/builders/ruby_modular/builds/329 blamelist: sonne@debian.org | 17:44 |
-!- blackburn [~qdrgsm@188.168.5.233] has joined #shogun | 18:29 | |
blackburn | sonney2k: sorry things go busy, will clean up gsoc ideas on samstag and sonntag ;) | 18:32 |
-!- n4nd0 [~fjig@grey-01.csc.kth.se] has joined #shogun | 18:55 | |
blackburn | n4nd0: hey, what's up? | 19:01 |
n4nd0 | blackburn: hey! how is it going? :) | 19:01 |
blackburn | n4nd0: fine, but pretty busy :( | 19:02 |
blackburn | what about you? | 19:02 |
n4nd0 | blackburn: I am fine too, not too many lectures but lot of stuff to do lately :O | 19:03 |
n4nd0 | blackburn: so one doubt I asked soeren but I think he didn't find time to answer | 19:03 |
blackburn | but recall I am not an expert in boosting ;) | 19:03 |
n4nd0 | blackburn: yeah sure, it is more about the structure of the projects actually, no about boosting itself | 19:04 |
n4nd0 | blackburn: so I checked the class hierarchy of multiboost and my idea would be first to focus on their algorithm for adaboost | 19:05 |
n4nd0 | blackburn: they have some other stuff apart from that | 19:05 |
n4nd0 | blackburn: so they divide the code of their classifiers in learner and classifier classes | 19:06 |
blackburn | oh | 19:07 |
blackburn | I see | 19:07 |
n4nd0 | blackburn: those kind of details, should be respected as they are in their implementation | 19:07 |
n4nd0 | blackburn: or adapted to shogun | 19:07 |
blackburn | well I guess it won't be very hard to merge it in one class | 19:07 |
n4nd0 | it doesn't sound like a big deal at first sight | 19:08 |
blackburn | n4nd0: other way could provide some adapter for their code | 19:08 |
blackburn | I mean you could just insert their code in some multiboost folder | 19:09 |
blackburn | and the provide classes that use their classes | 19:09 |
n4nd0 | blackburn: that sounds like a good idea | 19:10 |
blackburn | btw if you want to do some develop | 19:11 |
blackburn | I had one idea | 19:11 |
n4nd0 | blackburn: sure, tell me | 19:11 |
blackburn | we have no mahalanobis distance | 19:11 |
n4nd0 | blackburn: ok, I have heard of it in a couple of courses :) | 19:11 |
blackburn | so if you are bored just implement it :) | 19:12 |
blackburn | ok have to go now | 19:13 |
n4nd0 | blackburn: yes! I can do that | 19:13 |
n4nd0 | it sounds better to start with than the boosting thing, it might be to big | 19:13 |
n4nd0 | too big* | 19:13 |
blackburn | yeah sure I don't think you should do boosting right now | 19:13 |
blackburn | will be back later | 19:14 |
n4nd0 | blackburn: ok, thank you for the suggestion! | 19:14 |
-!- n4nd0 [~fjig@grey-01.csc.kth.se] has quit [Quit: leaving] | 19:50 | |
blackburn | sonney2k: hey, around? | 20:47 |
@sonney2k | blackburn, yes | 20:47 |
@sonney2k | writing the gsoc stuff | 20:47 |
blackburn | sonney2k: hmm exactly what I'm doing | 20:47 |
blackburn | sonney2k: I strongly suggest to collaborate using docs not git.. | 20:47 |
blackburn | google docs I mean | 20:47 |
@sonney2k | rejected | 20:48 |
blackburn | why? | 20:48 |
@sonney2k | you just say what you work on and I tell you what I work on | 20:48 |
@sonney2k | no conflicts no problems | 20:48 |
@sonney2k | and we are close to done anyway | 20:48 |
blackburn | ok, up to you | 20:48 |
blackburn | so tell me what you are doing | 20:48 |
blackburn | sonney2k: will you do application by yourself? | 20:49 |
@sonney2k | just polish the one from last year | 20:50 |
blackburn | I was curious whether you are going to apply as FML as well? | 20:50 |
blackburn | ehm crazy sentence | 20:51 |
@sonney2k | no - we will just use shogun toolbox as organization | 20:51 |
blackburn | sonney2k: ok | 20:51 |
@sonney2k | that was confusing everyone last time | 20:51 |
@sonney2k | blackburn, I just wrote / adjusted kernel two-sample test | 20:51 |
blackburn | sonney2k: so the only thing I can help is ideas? | 20:51 |
@sonney2k | GPs/regression | 20:51 |
blackburn | ok I'll check it now | 20:52 |
@sonney2k | multiclass needs some work and I will do libqp for now | 20:52 |
blackburn | sonney2k: C5.0 is on? | 20:52 |
@sonney2k | yes | 20:53 |
blackburn | hah heiko was just like tolstoy | 20:53 |
blackburn | a lot of text | 20:53 |
blackburn | sonney2k: what's up with alex binder? | 20:54 |
@sonney2k | blackburn, what we need now is some more clear structure what we want to do | 20:54 |
@sonney2k | I mean just 3 major points we want to improve | 20:54 |
blackburn | I guess it could be result of discussion | 20:54 |
@sonney2k | framework | 20:54 |
@sonney2k | accessibility to shogun (tutorial/ i/o / mloss.org integration) | 20:54 |
@sonney2k | new methods | 20:55 |
blackburn | that's clear | 20:55 |
blackburn | to put particular focus on implementen | 20:56 |
blackburn | hah pretty nice language mix | 20:56 |
@sonney2k | currently it is still a mess | 20:56 |
@sonney2k | blackburn, please git commit / push | 20:57 |
blackburn | sonney2k: we have stated ambitious changes again | 20:57 |
blackburn | commit what? | 20:57 |
@sonney2k | your changes | 20:57 |
@sonney2k | ambitious changes? | 20:57 |
@sonney2k | in what sense? | 20:57 |
blackburn | structured outputs | 20:57 |
@sonney2k | multiclass/multitask/regression is incremental stuff | 20:57 |
blackburn | at least | 20:57 |
@sonney2k | structured output is not that difficult if you don't do the very difficult algorithms | 20:58 |
@sonney2k | the framwork itself is rather easy | 20:58 |
blackburn | sorry I don't give a fuck how it works | 20:58 |
blackburn | well then all is ok | 20:58 |
blackburn | it is not very clear for me what are the things you want to improve | 20:59 |
@sonney2k | did you git push? | 20:59 |
blackburn | the only thing I did is added chris' idea | 20:59 |
blackburn | what exactly you want me to push? ;) | 20:59 |
@sonney2k | you said you were working on this | 21:00 |
@sonney2k | if not ok - then I am restructuring completely | 21:00 |
blackburn | yes I started to make draft application | 21:00 |
blackburn | but you said you will | 21:00 |
@sonney2k | we have to wait until gsoc interface is open then we have access to the application from last year | 21:01 |
@sonney2k | ideas list is for now most important | 21:01 |
blackburn | ehm you have one in papers folder? | 21:01 |
@sonney2k | could be | 21:01 |
blackburn | GSoC2011 | 21:01 |
blackburn | I am pretty sure :) | 21:01 |
@sonney2k | then I checked it in :) | 21:01 |
* sonney2k well done | 21:01 | |
blackburn | hah I thought you navigate better than me here :) | 21:02 |
blackburn | sonney2k: do you think we need more ideas? | 21:03 |
blackburn | the problem is ideas~mentors and we have not much :( | 21:03 |
@sonney2k | alexander binder, vojtech franc, arthur gretton, chris widmer, oliver stegle, me | 21:04 |
@sonney2k | how many do you want? | 21:04 |
blackburn | well.. no idea | 21:04 |
@sonney2k | so we can target 6 slots/students | 21:05 |
blackburn | yes, looks like | 21:05 |
blackburn | sonney2k: will jmlr reviews be sent to me when it is ready? | 21:06 |
@sonney2k | yes in 6 months or so :) | 21:06 |
blackburn | sure | 21:06 |
blackburn | I understand it now :D | 21:06 |
blackburn | I don't really wait already | 21:07 |
blackburn | let it be surprise hah | 21:07 |
blackburn | sonney2k: I asked vojtech about combining ECOC and the way he did in his 2002 paper | 21:08 |
blackburn | (genuine MC SVM) | 21:08 |
blackburn | do you think it is interesting too? | 21:08 |
blackburn | okay back to ideas | 21:10 |
blackburn | I've been thinking we have to do a lot of things here | 21:18 |
blackburn | buuuut looks like not too much | 21:18 |
@sonney2k | blackburn, please git pull | 21:29 |
@sonney2k | and tell me what you think | 21:29 |
@sonney2k | I think we have everthing in now | 21:30 |
@sonney2k | multiclass task should include also the nips papers I mentioned | 21:30 |
@sonney2k | and we should have some general instructions for students how to apply / what to provide | 21:30 |
blackburn | sonney2k: do you think examples/tutorial could be a project? | 21:31 |
blackburn | have doubts in it | 21:31 |
@sonney2k | of course | 21:31 |
@sonney2k | lots of programming effort | 21:31 |
blackburn | hmm may be | 21:31 |
@sonney2k | and IMHO the most intersting | 21:31 |
blackburn | sure | 21:31 |
@sonney2k | one gets to know all machine learning algorithms in shogun | 21:31 |
@sonney2k | writes examles for them | 21:31 |
@sonney2k | and generates toy data + some story how these work when they should be used | 21:32 |
blackburn | okay I'll modify multicalss part | 21:32 |
blackburn | a little later | 21:32 |
@sonney2k | is the structure now more clear? | 21:32 |
blackburn | with tree learning part as well | 21:32 |
blackburn | sure | 21:32 |
@sonney2k | with my short summary at the top | 21:33 |
@sonney2k | improve in 3 ways... | 21:33 |
@sonney2k | accessibility / frameworks / ml algos | 21:33 |
@sonney2k | I am jsut not sure whether I should put GPs / multitask into framwork or new ML :) | 21:33 |
blackburn | I don't expect any framework work :) on GPs.. | 21:34 |
blackburn | no idea about multitask yet | 21:34 |
blackburn | sonney2k: have you ever worked on svms with reject option? | 21:35 |
@sonney2k | no - is there any difference to multiclass? | 21:35 |
blackburn | ??????? | 21:36 |
blackburn | probably | 21:36 |
blackburn | sonney2k: i.e. when you have no examples that should be rejected - you can't do it as multiclass | 21:37 |
blackburn | so, the only way I find is to threshold (<w,x>+b) < T | 21:37 |
@sonney2k | btw, what is your accuracy now? | 21:38 |
blackburn | max is still 97.32% | 21:38 |
@sonney2k | did you try wikings stuff yet? | 21:38 |
blackburn | yes | 21:38 |
blackburn | ~97.1% | 21:38 |
blackburn | but linear | 21:38 |
@sonney2k | so with liblinear? | 21:38 |
blackburn | not really | 21:38 |
@sonney2k | but? | 21:39 |
@sonney2k | nice | 21:39 |
blackburn | I didn't manage to use liblinear | 21:39 |
@sonney2k | ? | 21:39 |
blackburn | no multiclass :) | 21:39 |
@sonney2k | why don't you do OVR? | 21:39 |
blackburn | I was working on generic OvR class last weekend | 21:40 |
blackburn | but not finished | 21:40 |
blackburn | btw vojtech gave me some insight | 21:40 |
blackburn | why genuine mc svm works better | 21:40 |
blackburn | do you know? | 21:40 |
@sonney2k | scaling mostly I would guess | 21:40 |
blackburn | yeah exactly | 21:40 |
blackburn | I didn't know it | 21:40 |
@sonney2k | but it is rare | 21:40 |
@sonney2k | rarely better | 21:40 |
blackburn | 0.3% for me | 21:40 |
blackburn | I mean GMNP is +0.3% :) | 21:41 |
blackburn | sonney2k: about wikings stuff - it works well | 21:41 |
@sonney2k | I guess I should try it too | 21:41 |
@sonney2k | 0.3% is nothing :) | 21:42 |
blackburn | sonney2k: sure | 21:42 |
blackburn | sonney2k: I didn't try multiscale hog yet as well | 21:42 |
blackburn | I expect some improvement too | 21:43 |
blackburn | sonney2k: liblinear has cramer-singer learning but I have no idea how to attach it | 21:44 |
blackburn | do you? | 21:44 |
@sonney2k | well you have to read their code :) | 21:44 |
blackburn | good suggestion | 21:45 |
blackburn | pretty painful :) | 21:45 |
@sonney2k | and then whenever they access an example call shogun's corresponding dotfeature function | 21:45 |
@sonney2k | problem is that they modify data internally (sometimes multiply by label or so) | 21:45 |
@sonney2k | so this has to be done on-the-fly | 21:46 |
@sonney2k | blackburn, that is how I did it with liblinear/ocas/libsvm/GMNPSVM/... | 21:46 |
blackburn | I see | 21:46 |
blackburn | sonney2k: btw what is better? ocas vs liblinear? | 21:46 |
@sonney2k | then in the end compare if the result is the same for same input and if just done :) | 21:46 |
@sonney2k | depends | 21:46 |
blackburn | on what? | 21:46 |
@sonney2k | liblinear is faster but may not converge as nicely | 21:47 |
blackburn | I have seen there is mc ocas too | 21:47 |
@sonney2k | and doesn't need that much memory | 21:47 |
@sonney2k | if you can afford it use mc ocas | 21:47 |
blackburn | so ocas could converge better? | 21:47 |
@sonney2k | much more robust | 21:47 |
blackburn | hmm | 21:47 |
@sonney2k | blackburn, how many dims do you have? | 21:47 |
@sonney2k | how many examples? | 21:48 |
blackburn | 39209 train examples | 21:48 |
@sonney2k | so basically nothing | 21:48 |
blackburn | 2700 dim | 21:48 |
@sonney2k | then it doesn't matter | 21:48 |
@sonney2k | also nothing | 21:48 |
@sonney2k | anything will work | 21:48 |
blackburn | heh | 21:48 |
blackburn | hmm I guess time to try virtuals | 21:48 |
@sonney2k | (recall that I trained on 50 million examples with ~10 million dims with both) | 21:49 |
blackburn | no idea how did you do that | 21:49 |
blackburn | :D | 21:49 |
blackburn | I hardly can wait 30K seconds it trains | 21:49 |
@sonney2k | for 40k examples / 10k dims training should take maybe 10s | 21:50 |
@sonney2k | (except for too large C) | 21:50 |
blackburn | hmm may be you mean 2 class problem | 21:50 |
@sonney2k | how many classes do you have? | 21:51 |
blackburn | 43 | 21:51 |
blackburn | strange.. | 21:51 |
@sonney2k | then 430 seconds max :) | 21:51 |
blackburn | linear? | 21:51 |
blackburn | or kernel? | 21:51 |
@sonney2k | linear of course | 21:52 |
@sonney2k | kernel is slow | 21:52 |
blackburn | both GMNP and Larank takes 30K | 21:52 |
blackburn | yes I didn't manage to do linear yet | 21:52 |
@sonney2k | blackburn, with larank you could run it in one pass mode though | 21:56 |
blackburn | how many passes does it do by default? | 21:56 |
@sonney2k | until convergence | 21:56 |
@sonney2k | many | 21:56 |
blackburn | but why can I do one? | 21:57 |
@sonney2k | performance might be owrse | 21:57 |
@sonney2k | worse | 21:57 |
@sonney2k | no idea how much ... | 21:57 |
blackburn | I see | 21:57 |
blackburn | okay I have to finish generic ovr thing | 21:58 |
blackburn | no idea how did I broke it :( | 21:58 |
blackburn | sonney2k: what is COFFIN in shogun? | 22:00 |
@sonney2k | blackburn, yeah you should really try OVR ....... I would expect it will give very similar results | 22:05 |
blackburn | sure | 22:05 |
@sonney2k | DotFeatures | 22:05 |
blackburn | ah I thought so | 22:05 |
@sonney2k | virtual examples have to be programmed independently though... | 22:05 |
blackburn | I see | 22:06 |
@sonney2k | btw I am just upgrading to debian unstable... | 22:07 |
@sonney2k | lets see if shogun still works on this | 22:07 |
blackburn | well I use ubuntu 11.10 | 22:08 |
blackburn | can it be considered as debian unstable? | 22:08 |
@sonney2k | I am a bit scared of gnome 3.x now | 22:08 |
blackburn | I used to scary unity | 22:08 |
blackburn | but works now | 22:08 |
blackburn | no more butthurt | 22:08 |
blackburn | :D | 22:08 |
@sonney2k | so you work with unity? | 22:09 |
blackburn | yes | 22:09 |
@sonney2k | heh so lets see if I can get used to gnome3 then | 22:10 |
blackburn | I believe it would become ok gradually | 22:10 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 22:24 | |
blackburn | sonney2k: hah did multiclass thing in python in 15 mins | 22:30 |
@sonney2k | yeah python makes life soo easy | 22:31 |
blackburn | makes mind flow | 22:31 |
blackburn | but in C++ makes headache | 22:31 |
blackburn | :D | 22:31 |
blackburn | sonney2k: ok lets check if your 430s is right :) | 22:32 |
@sonney2k | liblinear with eps 1e-2 ! | 22:32 |
-!- blackburn [~qdrgsm@188.168.5.233] has quit [Ping timeout: 244 seconds] | 22:37 | |
-!- blackburn [~qdrgsm@188.168.4.246] has joined #shogun | 22:47 | |
blackburn | sonney2k: bad thing about new interfaces like gnome 3 and unity - it eats memory just like pacman | 22:48 |
blackburn | huh! it works | 22:53 |
blackburn | sonney2k: damn you are right! | 22:56 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Read error: Connection reset by peer] | 23:05 | |
@sonney2k | blackburn in which sense? | 23:07 |
blackburn | sonney2k: in means of train time | 23:07 |
blackburn | I never thought it is SO fast | 23:07 |
blackburn | hah | 23:07 |
@sonney2k | and what about accuracy? | 23:07 |
blackburn | I tried with reduced train set | 23:08 |
@sonney2k | bah | 23:08 |
blackburn | was quite similar | 23:08 |
blackburn | now computing with whole train set | 23:08 |
@sonney2k | I am a bit lost with this gnome 3 thing here ... wonder how I can choose a better theme and get my hotkeys back to work... | 23:08 |
blackburn | damn! | 23:09 |
blackburn | out of memory | 23:09 |
blackburn | I shall remove reading images as well as hogs | 23:09 |
blackburn | no idea about gnome 3 :) | 23:09 |
blackburn | okay will continue tomorrow | 23:09 |
blackburn | I'll let you know | 23:09 |
blackburn | if get same 97% with liblinear :) | 23:10 |
blackburn | see you | 23:10 |
@sonney2k | ok | 23:10 |
@sonney2k | cu | 23:10 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 23:10 | |
-!- blackburn [~qdrgsm@188.168.4.246] has quit [Ping timeout: 244 seconds] | 23:14 | |
--- Log closed Fri Feb 24 00:00:19 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!